[Trace - 4:16:18 PM] Sending request 'initialize - (0)'. Params: { "processId": 5478, "rootPath": "/Users/mhmdanas/Desktop/projecteuler-solutions", "rootUri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions", "capabilities": { "workspace": { "applyEdit": true, "workspaceEdit": { "documentChanges": true, "resourceOperations": [ "create", "rename", "delete" ], "failureHandling": "textOnlyTransactional" }, "didChangeConfiguration": { "dynamicRegistration": true }, "didChangeWatchedFiles": { "dynamicRegistration": true }, "symbol": { "dynamicRegistration": true, "symbolKind": { "valueSet": [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 ] } }, "executeCommand": { "dynamicRegistration": true }, "configuration": true, "workspaceFolders": true }, "textDocument": { "publishDiagnostics": { "relatedInformation": true }, "synchronization": { "dynamicRegistration": true, "willSave": true, "willSaveWaitUntil": true, "didSave": true }, "completion": { "dynamicRegistration": true, "contextSupport": true, "completionItem": { "snippetSupport": true, "commitCharactersSupport": true, "documentationFormat": [ "markdown", "plaintext" ], "deprecatedSupport": true, "preselectSupport": true }, "completionItemKind": { "valueSet": [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25 ] } }, "hover": { "dynamicRegistration": true, "contentFormat": [ "markdown", "plaintext" ] }, "signatureHelp": { "dynamicRegistration": true, "signatureInformation": { "documentationFormat": [ "markdown", "plaintext" ], "parameterInformation": { "labelOffsetSupport": true } } }, "definition": { "dynamicRegistration": true }, "references": { "dynamicRegistration": true }, "documentHighlight": { "dynamicRegistration": true }, "documentSymbol": { "dynamicRegistration": true, "symbolKind": { "valueSet": [ 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26 ] } }, "codeAction": { "dynamicRegistration": true, "codeActionLiteralSupport": { "codeActionKind": { "valueSet": [ "", "quickfix", "refactor", "refactor.extract", "refactor.inline", "refactor.rewrite", "source", "source.organizeImports" ] } } }, "codeLens": { "dynamicRegistration": true }, "formatting": { "dynamicRegistration": true }, "rangeFormatting": { "dynamicRegistration": true }, "onTypeFormatting": { "dynamicRegistration": true }, "rename": { "dynamicRegistration": true, "prepareSupport": true }, "documentLink": { "dynamicRegistration": true }, "typeDefinition": { "dynamicRegistration": true }, "implementation": { "dynamicRegistration": true }, "declaration": { "dynamicRegistration": true }, "colorProvider": { "dynamicRegistration": true }, "foldingRange": { "dynamicRegistration": true, "rangeLimit": 5000, "lineFoldingOnly": true } } }, "initializationOptions": {}, "trace": "verbose", "workspaceFolders": [ { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions", "name": "projecteuler-solutions" } ] } [Trace - 4:16:18 PM] Received notification 'window/logMessage'. Params: { "type": 4, "message": "PureScript Language Server started" } PureScript Language Server started [Trace - 4:16:18 PM] Received notification 'window/logMessage'. Params: { "type": 3, "message": "{\"processId\":5478,\"rootPath\":\"/Users/mhmdanas/Desktop/projecteuler-solutions\",\"rootUri\":\"file:///Users/mhmdanas/Desktop/projecteuler-solutions\",\"capabilities\":{\"workspace\":{\"applyEdit\":true,\"workspaceEdit\":{\"documentChanges\":true,\"resourceOperations\":[\"create\",\"rename\",\"delete\"],\"failureHandling\":\"textOnlyTransactional\"},\"didChangeConfiguration\":{\"dynamicRegistration\":true},\"didChangeWatchedFiles\":{\"dynamicRegistration\":true},\"symbol\":{\"dynamicRegistration\":true,\"symbolKind\":{\"valueSet\":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26]}},\"executeCommand\":{\"dynamicRegistration\":true},\"configuration\":true,\"workspaceFolders\":true},\"textDocument\":{\"publishDiagnostics\":{\"relatedInformation\":true},\"synchronization\":{\"dynamicRegistration\":true,\"willSave\":true,\"willSaveWaitUntil\":true,\"didSave\":true},\"completion\":{\"dynamicRegistration\":true,\"contextSupport\":true,\"completionItem\":{\"snippetSupport\":true,\"commitCharactersSupport\":true,\"documentationFormat\":[\"markdown\",\"plaintext\"],\"deprecatedSupport\":true,\"preselectSupport\":true},\"completionItemKind\":{\"valueSet\":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25]}},\"hover\":{\"dynamicRegistration\":true,\"contentFormat\":[\"markdown\",\"plaintext\"]},\"signatureHelp\":{\"dynamicRegistration\":true,\"signatureInformation\":{\"documentationFormat\":[\"markdown\",\"plaintext\"],\"parameterInformation\":{\"labelOffsetSupport\":true}}},\"definition\":{\"dynamicRegistration\":true},\"references\":{\"dynamicRegistration\":true},\"documentHighlight\":{\"dynamicRegistration\":true},\"documentSymbol\":{\"dynamicRegistration\":true,\"symbolKind\":{\"valueSet\":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26]}},\"codeAction\":{\"dynamicRegistration\":true,\"codeActionLiteralSupport\":{\"codeActionKind\":{\"valueSet\":[\"\",\"quickfix\",\"refactor\",\"refactor.extract\",\"refactor.inline\",\"refactor.rewrite\",\"source\",\"source.organizeImports\"]}}},\"codeLens\":{\"dynamicRegistration\":true},\"formatting\":{\"dynamicRegistration\":true},\"rangeFormatting\":{\"dynamicRegistration\":true},\"onTypeFormatting\":{\"dynamicRegistration\":true},\"rename\":{\"dynamicRegistration\":true,\"prepareSupport\":true},\"documentLink\":{\"dynamicRegistration\":true},\"typeDefinition\":{\"dynamicRegistration\":true},\"implementation\":{\"dynamicRegistration\":true},\"declaration\":{\"dynamicRegistration\":true},\"colorProvider\":{\"dynamicRegistration\":true},\"foldingRange\":{\"dynamicRegistration\":true,\"rangeLimit\":5000,\"lineFoldingOnly\":true}}},\"initializationOptions\":{},\"trace\":\"verbose\",\"workspaceFolders\":[{\"uri\":\"file:///Users/mhmdanas/Desktop/projecteuler-solutions\",\"name\":\"projecteuler-solutions\"}]}" } [Info - 4:16:18 PM] {"processId":5478,"rootPath":"/Users/mhmdanas/Desktop/projecteuler-solutions","rootUri":"file:///Users/mhmdanas/Desktop/projecteuler-solutions","capabilities":{"workspace":{"applyEdit":true,"workspaceEdit":{"documentChanges":true,"resourceOperations":["create","rename","delete"],"failureHandling":"textOnlyTransactional"},"didChangeConfiguration":{"dynamicRegistration":true},"didChangeWatchedFiles":{"dynamicRegistration":true},"symbol":{"dynamicRegistration":true,"symbolKind":{"valueSet":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26]}},"executeCommand":{"dynamicRegistration":true},"configuration":true,"workspaceFolders":true},"textDocument":{"publishDiagnostics":{"relatedInformation":true},"synchronization":{"dynamicRegistration":true,"willSave":true,"willSaveWaitUntil":true,"didSave":true},"completion":{"dynamicRegistration":true,"contextSupport":true,"completionItem":{"snippetSupport":true,"commitCharactersSupport":true,"documentationFormat":["markdown","plaintext"],"deprecatedSupport":true,"preselectSupport":true},"completionItemKind":{"valueSet":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25]}},"hover":{"dynamicRegistration":true,"contentFormat":["markdown","plaintext"]},"signatureHelp":{"dynamicRegistration":true,"signatureInformation":{"documentationFormat":["markdown","plaintext"],"parameterInformation":{"labelOffsetSupport":true}}},"definition":{"dynamicRegistration":true},"references":{"dynamicRegistration":true},"documentHighlight":{"dynamicRegistration":true},"documentSymbol":{"dynamicRegistration":true,"symbolKind":{"valueSet":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26]}},"codeAction":{"dynamicRegistration":true,"codeActionLiteralSupport":{"codeActionKind":{"valueSet":["","quickfix","refactor","refactor.extract","refactor.inline","refactor.rewrite","source","source.organizeImports"]}}},"codeLens":{"dynamicRegistration":true},"formatting":{"dynamicRegistration":true},"rangeFormatting":{"dynamicRegistration":true},"onTypeFormatting":{"dynamicRegistration":true},"rename":{"dynamicRegistration":true,"prepareSupport":true},"documentLink":{"dynamicRegistration":true},"typeDefinition":{"dynamicRegistration":true},"implementation":{"dynamicRegistration":true},"declaration":{"dynamicRegistration":true},"colorProvider":{"dynamicRegistration":true},"foldingRange":{"dynamicRegistration":true,"rangeLimit":5000,"lineFoldingOnly":true}}},"initializationOptions":{},"trace":"verbose","workspaceFolders":[{"uri":"file:///Users/mhmdanas/Desktop/projecteuler-solutions","name":"projecteuler-solutions"}]} [Trace - 4:16:18 PM] Received notification 'window/logMessage'. Params: { "type": 4, "message": "Starting with args: [\"/Users/mhmdanas/.nvm/versions/node/v12.14.1/bin/node\",\"/usr/local/bin/purescript-language-server\",\"--stdio\"]" } Starting with args: ["/Users/mhmdanas/.nvm/versions/node/v12.14.1/bin/node","/usr/local/bin/purescript-language-server","--stdio"] [Trace - 4:16:18 PM] Received notification 'window/logMessage'. Params: { "type": 4, "message": "Starting with cwd: /Users/mhmdanas/Desktop/projecteuler-solutions and using root path: /Users/mhmdanas/Desktop/projecteuler-solutions" } Starting with cwd: /Users/mhmdanas/Desktop/projecteuler-solutions and using root path: /Users/mhmdanas/Desktop/projecteuler-solutions [Trace - 4:16:18 PM] Received response 'initialize - (0)' in 112ms. Result: { "capabilities": { "textDocumentSync": 1, "completionProvider": { "resolveProvider": false, "triggerCharacters": [] }, "hoverProvider": true, "definitionProvider": true, "workspaceSymbolProvider": true, "documentSymbolProvider": true, "codeActionProvider": true, "executeCommandProvider": { "commands": [ "purescript.addCompletionImport", "purescript.caseSplit-explicit", "purescript.addClause-explicit", "purescript.replaceSuggestion", "purescript.build", "purescript.startPscIde", "purescript.stopPscIde", "purescript.restartPscIde", "purescript.typedHole-explicit", "purescript.replaceAllSuggestions", "purescript.fixTypo" ] }, "referencesProvider": true } } [Trace - 4:16:18 PM] Sending notification 'initialized'. Params: {} [Trace - 4:16:18 PM] Sending notification 'workspace/didChangeConfiguration'. Params: { "settings": { "purescript": { "addSpagoSources": true, "buildCommand": "spago build --purs-args --json-errors", "addNpmPath": true, "editorMode": true } } } [Trace - 4:16:18 PM] Sending notification 'textDocument/didOpen'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "languageId": "purescript", "version": 1, "text": "\n" } } [Trace - 4:16:18 PM] Received notification 'window/logMessage'. Params: { "type": 4, "message": "Got updated settings" } Got updated settings [Trace - 4:16:18 PM] Received notification 'window/logMessage'. Params: { "type": 3, "message": "Starting IDE server" } [Info - 4:16:18 PM] Starting IDE server [Trace - 4:16:18 PM] Received notification 'window/logMessage'. Params: { "type": 3, "message": "Resolved IDE server paths (npm-bin: true) from PATH of /Users/mhmdanas/Desktop/projecteuler-solutions/node_modules/.bin:/Users/mhmdanas/.nvm/versions/node/v12.14.1/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/mhmdanas/flutter/bin:/Users/mhmdanas/flutter/.pub-cache/bin:/Users/mhmdanas/.yarn/bin:/Users/mhmdanas/.config/yarn/global/node_modules/.bin:/Users/mhmdanas/.antigen/bundles/robbyrussell/oh-my-zsh/plugins/git:/Users/mhmdanas/.antigen/bundles/zsh-users/zsh-syntax-highlighting:/Users/mhmdanas/.antigen/bundles/zsh-users/zsh-autosuggestions:/Users/mhmdanas/.antigen/bundles/zsh-users/zsh-completions:/Users/mhmdanas/.antigen/bundles/mafredri/zsh-async:/Users/mhmdanas/.antigen/bundles/sindresorhus/pure:/Users/mhmdanas/.antigen/bundles/lukechilds/zsh-nvm (1st is used):" } [Info - 4:16:18 PM] Resolved IDE server paths (npm-bin: true) from PATH of /Users/mhmdanas/Desktop/projecteuler-solutions/node_modules/.bin:/Users/mhmdanas/.nvm/versions/node/v12.14.1/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Users/mhmdanas/flutter/bin:/Users/mhmdanas/flutter/.pub-cache/bin:/Users/mhmdanas/.yarn/bin:/Users/mhmdanas/.config/yarn/global/node_modules/.bin:/Users/mhmdanas/.antigen/bundles/robbyrussell/oh-my-zsh/plugins/git:/Users/mhmdanas/.antigen/bundles/zsh-users/zsh-syntax-highlighting:/Users/mhmdanas/.antigen/bundles/zsh-users/zsh-autosuggestions:/Users/mhmdanas/.antigen/bundles/zsh-users/zsh-completions:/Users/mhmdanas/.antigen/bundles/mafredri/zsh-async:/Users/mhmdanas/.antigen/bundles/sindresorhus/pure:/Users/mhmdanas/.antigen/bundles/lukechilds/zsh-nvm (1st is used): [Trace - 4:16:18 PM] Received notification 'window/logMessage'. Params: { "type": 3, "message": "/Users/mhmdanas/Desktop/projecteuler-solutions/node_modules/.bin/purs: 0.13.6\n" } [Info - 4:16:18 PM] /Users/mhmdanas/Desktop/projecteuler-solutions/node_modules/.bin/purs: 0.13.6 [Trace - 4:16:18 PM] Received notification 'window/logMessage'. Params: { "type": 3, "message": "Found existing port from file: 15833" } [Info - 4:16:18 PM] Found existing port from file: 15833 [Trace - 4:16:18 PM] Received notification 'window/logMessage'. Params: { "type": 3, "message": "Starting IDE server on port 15194 with cwd /Users/mhmdanas/Desktop/projecteuler-solutions" } [Info - 4:16:18 PM] Starting IDE server on port 15194 with cwd /Users/mhmdanas/Desktop/projecteuler-solutions [Trace - 4:16:18 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 2 }, "contentChanges": [ { "text": "m\n" } ] } [Trace - 4:16:18 PM] Sending request 'textDocument/completion - (1)'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" }, "position": { "line": 0, "character": 1 }, "context": { "triggerKind": 1 } } [Trace - 4:16:18 PM] Received response 'textDocument/completion - (1)' in 3ms. Result: { "items": [], "isIncomplete": false } [Trace - 4:16:18 PM] Received notification 'window/logMessage'. Params: { "type": 4, "message": "Started IDE server (port 15194)" } Started IDE server (port 15194) [Trace - 4:16:18 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 3 }, "contentChanges": [ { "text": "mo\n" } ] } [Trace - 4:16:18 PM] Sending request 'textDocument/completion - (2)'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" }, "position": { "line": 0, "character": 2 }, "context": { "triggerKind": 1 } } [Trace - 4:16:18 PM] Received response 'textDocument/completion - (2)' in 1ms. Result: { "items": [], "isIncomplete": false } [Trace - 4:16:19 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 4 }, "contentChanges": [ { "text": "mod\n" } ] } [Trace - 4:16:19 PM] Sending request 'textDocument/completion - (3)'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" }, "position": { "line": 0, "character": 3 }, "context": { "triggerKind": 1 } } [Trace - 4:16:19 PM] Received response 'textDocument/completion - (3)' in 0ms. Result: { "items": [], "isIncomplete": false } [Trace - 4:16:19 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 5 }, "contentChanges": [ { "text": "modu\n" } ] } [Trace - 4:16:19 PM] Sending request 'textDocument/completion - (4)'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" }, "position": { "line": 0, "character": 4 }, "context": { "triggerKind": 1 } } [Trace - 4:16:19 PM] Received response 'textDocument/completion - (4)' in 2ms. Result: { "items": [], "isIncomplete": false } [Trace - 4:16:19 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 6 }, "contentChanges": [ { "text": "modul\n" } ] } [Trace - 4:16:19 PM] Sending request 'textDocument/completion - (5)'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" }, "position": { "line": 0, "character": 5 }, "context": { "triggerKind": 1 } } [Trace - 4:16:19 PM] Received response 'textDocument/completion - (5)' in 1ms. Result: { "items": [], "isIncomplete": false } [Trace - 4:16:19 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 7 }, "contentChanges": [ { "text": "module\n" } ] } [Trace - 4:16:19 PM] Sending request 'textDocument/completion - (6)'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" }, "position": { "line": 0, "character": 6 }, "context": { "triggerKind": 1 } } [Trace - 4:16:19 PM] Received response 'textDocument/completion - (6)' in 1ms. Result: { "items": [], "isIncomplete": false } [Trace - 4:16:19 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 8 }, "contentChanges": [ { "text": "module \n" } ] } [Trace - 4:16:19 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 9 }, "contentChanges": [ { "text": "module S\n" } ] } [Trace - 4:16:19 PM] Sending request 'textDocument/completion - (7)'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" }, "position": { "line": 0, "character": 8 }, "context": { "triggerKind": 1 } } [Trace - 4:16:19 PM] Received response 'textDocument/completion - (7)' in 1ms. Result: { "items": [], "isIncomplete": false } [Trace - 4:16:19 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 10 }, "contentChanges": [ { "text": "module So\n" } ] } [Trace - 4:16:20 PM] Sending request 'textDocument/completion - (8)'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" }, "position": { "line": 0, "character": 9 }, "context": { "triggerKind": 1 } } [Trace - 4:16:20 PM] Received response 'textDocument/completion - (8)' in 0ms. Result: { "items": [], "isIncomplete": false } [Trace - 4:16:20 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 11 }, "contentChanges": [ { "text": "module Som\n" } ] } [Trace - 4:16:20 PM] Sending request 'textDocument/completion - (9)'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" }, "position": { "line": 0, "character": 10 }, "context": { "triggerKind": 1 } } [Trace - 4:16:20 PM] Received response 'textDocument/completion - (9)' in 2ms. Result: { "items": [], "isIncomplete": false } [Trace - 4:16:20 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 12 }, "contentChanges": [ { "text": "module Some\n" } ] } [Trace - 4:16:20 PM] Sending request 'textDocument/completion - (10)'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" }, "position": { "line": 0, "character": 11 }, "context": { "triggerKind": 1 } } [Trace - 4:16:20 PM] Received response 'textDocument/completion - (10)' in 0ms. Result: { "items": [], "isIncomplete": false } [Trace - 4:16:20 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 13 }, "contentChanges": [ { "text": "module Some w\n" } ] } [Trace - 4:16:20 PM] Sending request 'textDocument/completion - (11)'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" }, "position": { "line": 0, "character": 13 }, "context": { "triggerKind": 1 } } [Trace - 4:16:20 PM] Received response 'textDocument/completion - (11)' in 1ms. Result: { "items": [], "isIncomplete": false } [Trace - 4:16:20 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 14 }, "contentChanges": [ { "text": "module Some wh\n" } ] } [Trace - 4:16:20 PM] Sending request 'textDocument/completion - (12)'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" }, "position": { "line": 0, "character": 14 }, "context": { "triggerKind": 1 } } [Trace - 4:16:20 PM] Received response 'textDocument/completion - (12)' in 10ms. Result: { "items": [], "isIncomplete": false } [Trace - 4:16:20 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 15 }, "contentChanges": [ { "text": "module Some whe\n" } ] } [Trace - 4:16:20 PM] Sending request 'textDocument/completion - (13)'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" }, "position": { "line": 0, "character": 15 }, "context": { "triggerKind": 1 } } [Trace - 4:16:20 PM] Received notification 'window/logMessage'. Params: { "type": 3, "message": "[Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead\n" } [Info - 4:16:20 PM] [Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead [Trace - 4:16:20 PM] Received response 'textDocument/completion - (13)' in 32ms. Result: { "items": [ { "detail": "∀ m. Applicative m ⇒ Boolean → m Unit → m Unit", "documentation": { "kind": "markdown", "value": "Perform an applicative action when a condition is true.\n\n*From: Control.Alternative*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "when", "Control.Alternative", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 0 }, "end": { "line": 0, "character": 15 } }, "newText": "when" }, "sortText": "Z.when", "additionalTextEdits": null, "filterText": null, "insertText": "when", "kind": 12, "label": "when" }, { "detail": "∀ m. Applicative m ⇒ Boolean → m Unit → m Unit", "documentation": { "kind": "markdown", "value": "Perform an applicative action when a condition is true.\n\n*From: Control.Applicative*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "when", "Control.Applicative", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 0 }, "end": { "line": 0, "character": 15 } }, "newText": "when" }, "sortText": "Z.when", "additionalTextEdits": null, "filterText": null, "insertText": "when", "kind": 12, "label": "when" }, { "detail": "∀ m. Applicative m ⇒ Boolean → m Unit → m Unit", "documentation": { "kind": "markdown", "value": "Perform an applicative action when a condition is true.\n\n*From: Control.Bind*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "when", "Control.Bind", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 0 }, "end": { "line": 0, "character": 15 } }, "newText": "when" }, "sortText": "Z.when", "additionalTextEdits": null, "filterText": null, "insertText": "when", "kind": 12, "label": "when" }, { "detail": "∀ m. Monad m ⇒ m Boolean → m Unit → m Unit", "documentation": { "kind": "markdown", "value": "Perform a monadic action when a condition is true, where the conditional\nvalue is also in a monadic context.\n\n*From: Control.Monad*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "whenM", "Control.Monad", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 0 }, "end": { "line": 0, "character": 15 } }, "newText": "whenM" }, "sortText": "Z.whenM", "additionalTextEdits": null, "filterText": null, "insertText": "whenM", "kind": 12, "label": "whenM" }, { "detail": "∀ m. Applicative m ⇒ Boolean → m Unit → m Unit", "documentation": { "kind": "markdown", "value": "Perform an applicative action when a condition is true.\n\n*From: Control.Monad*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "when", "Control.Monad", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 0 }, "end": { "line": 0, "character": 15 } }, "newText": "when" }, "sortText": "Z.when", "additionalTextEdits": null, "filterText": null, "insertText": "when", "kind": 12, "label": "when" }, { "detail": "∀ m. Applicative m ⇒ Boolean → m Unit → m Unit", "documentation": { "kind": "markdown", "value": "Perform an applicative action when a condition is true.\n\n*From: Control.MonadPlus*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "when", "Control.MonadPlus", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 0 }, "end": { "line": 0, "character": 15 } }, "newText": "when" }, "sortText": "Z.when", "additionalTextEdits": null, "filterText": null, "insertText": "when", "kind": 12, "label": "when" }, { "detail": "∀ m. Applicative m ⇒ Boolean → m Unit → m Unit", "documentation": { "kind": "markdown", "value": "Perform an applicative action when a condition is true.\n\n*From: Control.MonadZero*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "when", "Control.MonadZero", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 0 }, "end": { "line": 0, "character": 15 } }, "newText": "when" }, "sortText": "Z.when", "additionalTextEdits": null, "filterText": null, "insertText": "when", "kind": 12, "label": "when" }, { "detail": "∀ m. Applicative m ⇒ Boolean → m Unit → m Unit", "documentation": { "kind": "markdown", "value": "Perform an applicative action when a condition is true.\n\n*From: Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "when", "Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 0 }, "end": { "line": 0, "character": 15 } }, "newText": "when" }, "sortText": "Z.when", "additionalTextEdits": null, "filterText": null, "insertText": "when", "kind": 12, "label": "when" }, { "detail": "∀ m. Monad m ⇒ m Boolean → m Unit → m Unit", "documentation": { "kind": "markdown", "value": "Perform a monadic action when a condition is true, where the conditional\nvalue is also in a monadic context.\n\n*From: Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "whenM", "Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 0 }, "end": { "line": 0, "character": 15 } }, "newText": "whenM" }, "sortText": "Z.whenM", "additionalTextEdits": null, "filterText": null, "insertText": "whenM", "kind": 12, "label": "whenM" } ], "isIncomplete": false } [Trace - 4:16:20 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 16 }, "contentChanges": [ { "text": "module Some where\n" } ] } [Trace - 4:16:20 PM] Sending request 'textDocument/completion - (14)'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" }, "position": { "line": 0, "character": 17 }, "context": { "triggerKind": 1 } } [Trace - 4:16:20 PM] Received notification 'window/logMessage'. Params: { "type": 3, "message": "[Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead\n" } [Info - 4:16:20 PM] [Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead [Trace - 4:16:20 PM] Received response 'textDocument/completion - (14)' in 18ms. Result: { "items": [], "isIncomplete": false } [Trace - 4:16:21 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 17 }, "contentChanges": [ { "text": "module Some where\n \n" } ] } [Trace - 4:16:21 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 18 }, "contentChanges": [ { "text": "module Some where\n\n\n" } ] } [Trace - 4:16:22 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 19 }, "contentChanges": [ { "text": "module Some where\n\ni\n" } ] } [Trace - 4:16:22 PM] Sending request 'textDocument/completion - (15)'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" }, "position": { "line": 2, "character": 1 }, "context": { "triggerKind": 1 } } [Trace - 4:16:22 PM] Received notification 'window/logMessage'. Params: { "type": 3, "message": "[Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead\n" } [Info - 4:16:22 PM] [Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead [Trace - 4:16:22 PM] Received response 'textDocument/completion - (15)' in 53ms. Result: { "items": [ { "detail": "NonEmptyList GraphicsParam", "documentation": { "kind": "markdown", "value": "\n*From: Ansi.Output*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "italic", "Ansi.Output", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "italic" }, "sortText": "Z.italic", "additionalTextEdits": null, "filterText": null, "insertText": "italic", "kind": 12, "label": "italic" }, { "detail": "NonEmptyList GraphicsParam", "documentation": { "kind": "markdown", "value": "\n*From: Ansi.Output*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "inverse", "Ansi.Output", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "inverse" }, "sortText": "Z.inverse", "additionalTextEdits": null, "filterText": null, "insertText": "inverse", "kind": 12, "label": "inverse" }, { "detail": "∀ a m. Bind m ⇒ m Boolean → m a → m a → m a", "documentation": { "kind": "markdown", "value": "Execute a monadic action if a condition holds.\n\nFor example:\n\n```purescript\nmain = ifM ((< 0.5) <$> random)\n (trace \"Heads\")\n (trace \"Tails\")\n```\n\n*From: Control.Bind*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "ifM", "Control.Bind", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "ifM" }, "sortText": "Z.ifM", "additionalTextEdits": null, "filterText": null, "insertText": "ifM", "kind": 12, "label": "ifM" }, { "detail": "∀ t a. Category a ⇒ a t t", "documentation": { "kind": "markdown", "value": "\n*From: Control.Category*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "identity", "Control.Category", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "identity" }, "sortText": "Z.identity", "additionalTextEdits": null, "filterText": null, "insertText": "identity", "kind": 12, "label": "identity" }, { "detail": "∀ a m. Bind m ⇒ m Boolean → m a → m a → m a", "documentation": { "kind": "markdown", "value": "Execute a monadic action if a condition holds.\n\nFor example:\n\n```purescript\nmain = ifM ((< 0.5) <$> random)\n (trace \"Heads\")\n (trace \"Tails\")\n```\n\n*From: Control.Monad*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "ifM", "Control.Monad", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "ifM" }, "sortText": "Z.ifM", "additionalTextEdits": null, "filterText": null, "insertText": "ifM", "kind": 12, "label": "ifM" }, { "detail": "∀ f a. Monad f ⇒ (a → a) → a → ListT f a", "documentation": { "kind": "markdown", "value": "Generate an infinite list by iterating a function.\n\n*From: Control.Monad.List.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "iterate", "Control.Monad.List.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "iterate" }, "sortText": "Z.iterate", "additionalTextEdits": null, "filterText": null, "insertText": "iterate", "kind": 12, "label": "iterate" }, { "detail": "∀ a m. Bind m ⇒ m Boolean → m a → m a → m a", "documentation": { "kind": "markdown", "value": "Execute a monadic action if a condition holds.\n\nFor example:\n\n```purescript\nmain = ifM ((< 0.5) <$> random)\n (trace \"Heads\")\n (trace \"Tails\")\n```\n\n*From: Control.MonadPlus*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "ifM", "Control.MonadPlus", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "ifM" }, "sortText": "Z.ifM", "additionalTextEdits": null, "filterText": null, "insertText": "ifM", "kind": 12, "label": "ifM" }, { "detail": "∀ a m. Bind m ⇒ m Boolean → m a → m a → m a", "documentation": { "kind": "markdown", "value": "Execute a monadic action if a condition holds.\n\nFor example:\n\n```purescript\nmain = ifM ((< 0.5) <$> random)\n (trace \"Heads\")\n (trace \"Tails\")\n```\n\n*From: Control.MonadZero*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "ifM", "Control.MonadZero", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "ifM" }, "sortText": "Z.ifM", "additionalTextEdits": null, "filterText": null, "insertText": "ifM", "kind": 12, "label": "ifM" }, { "detail": "∀ a. Ord a ⇒ a → Array a → Array a", "documentation": { "kind": "markdown", "value": "Insert an element into a sorted array.\n\n```purescript\ninsert 10 [1, 2, 20, 21] = [1, 2, 10, 20, 21]\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insert", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "insert" }, "sortText": "Z.insert", "additionalTextEdits": null, "filterText": null, "insertText": "insert", "kind": 12, "label": "insert" }, { "detail": "∀ a. (a → a → Ordering) → a → Array a → Array a", "documentation": { "kind": "markdown", "value": "Insert an element into a sorted array, using the specified function to\ndetermine the ordering of elements.\n\n```purescript\ninvertCompare a b = invert $ compare a b\n\ninsertBy invertCompare 10 [21, 20, 2, 1] = [21, 20, 10, 2, 1]\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insertBy", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "insertBy" }, "sortText": "Z.insertBy", "additionalTextEdits": null, "filterText": null, "insertText": "insertBy", "kind": 12, "label": "insertBy" }, { "detail": "∀ a. Array a → Maybe (Array a)", "documentation": { "kind": "markdown", "value": "Get all but the last element of an array, creating a new array, or\n`Nothing` if the array is empty.\n\n```purescript\ninit [1, 2, 3, 4] = Just [1, 2, 3]\ninit [] = Nothing\n```\n\nRunning time: `O(n)` where `n` is the length of the array\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "init", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "init" }, "sortText": "Z.init", "additionalTextEdits": null, "filterText": null, "insertText": "init", "kind": 12, "label": "init" }, { "detail": "∀ a. Array a → Int → Maybe a", "documentation": { "kind": "markdown", "value": "This function provides a safe way to read a value at a particular index\nfrom an array.\n\n```purescript\nsentence = [\"Hello\", \"World\", \"!\"]\n\nindex sentence 0 = Just \"Hello\"\nindex sentence 7 = Nothing\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "index", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "index" }, "sortText": "Z.index", "additionalTextEdits": null, "filterText": null, "insertText": "index", "kind": 12, "label": "index" }, { "detail": "∀ a. Int → a → Array a → Maybe (Array a)", "documentation": { "kind": "markdown", "value": "Insert an element at the specified index, creating a new array, or\nreturning `Nothing` if the index is out of bounds.\n\n```purescript\ninsertAt 2 \"!\" [\"Hello\", \"World\"] = Just [\"Hello\", \"World\", \"!\"]\ninsertAt 10 \"!\" [\"Hello\"] = Nothing\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insertAt", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "insertAt" }, "sortText": "Z.insertAt", "additionalTextEdits": null, "filterText": null, "insertText": "insertAt", "kind": 12, "label": "insertAt" }, { "detail": "∀ a. Eq a ⇒ Array a → Array a → Array a", "documentation": { "kind": "markdown", "value": "Calculate the intersection of two arrays, creating a new array. Note that\nduplicates in the first array are preserved while duplicates in the second\narray are removed.\n\n```purescript\nintersect [1, 1, 2] [2, 2, 1] = [1, 1, 2]\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersect", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "intersect" }, "sortText": "Z.intersect", "additionalTextEdits": null, "filterText": null, "insertText": "intersect", "kind": 12, "label": "intersect" }, { "detail": "∀ a. (a → a → Boolean) → Array a → Array a → Array a", "documentation": { "kind": "markdown", "value": "Calculate the intersection of two arrays, using the specified equivalence\nrelation to compare elements, creating a new array. Note that duplicates\nin the first array are preserved while duplicates in the second array are\nremoved.\n\n```purescript\nmod3eq a b = a `mod` 3 == b `mod` 3\nintersectBy mod3eq [1, 2, 3] [4, 6, 7] = [1, 3]\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersectBy", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "intersectBy" }, "sortText": "Z.intersectBy", "additionalTextEdits": null, "filterText": null, "insertText": "intersectBy", "kind": 12, "label": "intersectBy" }, { "detail": "∀ f m. Foldable f ⇒ Monoid m ⇒ m → f m → m", "documentation": { "kind": "markdown", "value": "Fold a data structure, accumulating values in some `Monoid`,\ncombining adjacent elements using the specified separator.\n\nFor example:\n\n```purescript\n> intercalate \", \" [\"Lorem\", \"ipsum\", \"dolor\"]\n= \"Lorem, ipsum, dolor\"\n\n> intercalate \"*\" [\"a\", \"b\", \"c\"]\n= \"a*b*c\"\n\n> intercalate [1] [[2, 3], [4, 5], [6, 7]]\n= [2, 3, 1, 4, 5, 1, 6, 7]\n```\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intercalate", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "intercalate" }, "sortText": "Z.intercalate", "additionalTextEdits": null, "filterText": null, "insertText": "intercalate", "kind": 12, "label": "intercalate" }, { "detail": "∀ a. Ord a ⇒ a → NonEmptyArray a → NonEmptyArray a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insert", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "insert" }, "sortText": "Z.insert", "additionalTextEdits": null, "filterText": null, "insertText": "insert", "kind": 12, "label": "insert" }, { "detail": "∀ a. (a → a → Ordering) → a → NonEmptyArray a → NonEmptyArray a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insertBy", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "insertBy" }, "sortText": "Z.insertBy", "additionalTextEdits": null, "filterText": null, "insertText": "insertBy", "kind": 12, "label": "insertBy" }, { "detail": "∀ a. NonEmptyArray a → Array a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "init", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "init" }, "sortText": "Z.init", "additionalTextEdits": null, "filterText": null, "insertText": "init", "kind": 12, "label": "init" }, { "detail": "∀ a. NonEmptyArray a → Int → Maybe a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "index", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "index" }, "sortText": "Z.index", "additionalTextEdits": null, "filterText": null, "insertText": "index", "kind": 12, "label": "index" }, { "detail": "∀ a. Int → a → NonEmptyArray a → Maybe (NonEmptyArray a)", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insertAt", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "insertAt" }, "sortText": "Z.insertAt", "additionalTextEdits": null, "filterText": null, "insertText": "insertAt", "kind": 12, "label": "insertAt" }, { "detail": "∀ a. Eq a ⇒ NonEmptyArray a → NonEmptyArray a → Array a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersect", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "intersect" }, "sortText": "Z.intersect", "additionalTextEdits": null, "filterText": null, "insertText": "intersect", "kind": 12, "label": "intersect" }, { "detail": "∀ a. Eq a ⇒ NonEmptyArray a → Array a → Array a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersect'", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "intersect'" }, "sortText": "Z.intersect'", "additionalTextEdits": null, "filterText": null, "insertText": "intersect'", "kind": 12, "label": "intersect'" }, { "detail": "∀ a. (a → a → Boolean) → NonEmptyArray a → NonEmptyArray a → Array a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersectBy", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "intersectBy" }, "sortText": "Z.intersectBy", "additionalTextEdits": null, "filterText": null, "insertText": "intersectBy", "kind": 12, "label": "intersectBy" }, { "detail": "∀ a. (a → a → Boolean) → NonEmptyArray a → Array a → Array a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersectBy'", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "intersectBy'" }, "sortText": "Z.intersectBy'", "additionalTextEdits": null, "filterText": null, "insertText": "intersectBy'", "kind": 12, "label": "intersectBy'" }, { "detail": "∀ a. Partial ⇒ Array a → Array a", "documentation": { "kind": "markdown", "value": "Get all but the last element of a non-empty array.\n\nRunning time: `O(n)`, where `n` is the length of the array.\n\n*From: Data.Array.Partial*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "init", "Data.Array.Partial", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "init" }, "sortText": "Z.init", "additionalTextEdits": null, "filterText": null, "insertText": "init", "kind": 12, "label": "init" }, { "detail": "∀ r a. (Int → Maybe a) → ST r (Iterator r a)", "documentation": { "kind": "markdown", "value": "Make an Iterator given an indexing function into an array (or anything\nelse). If `xs :: Array a`, the standard way to create an iterator over\n`xs` is to use `iterator (xs !! _)`, where `(!!)` comes from `Data.Array`.\n\n*From: Data.Array.ST.Iterator*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "iterator", "Data.Array.ST.Iterator", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "iterator" }, "sortText": "Z.iterator", "additionalTextEdits": null, "filterText": null, "insertText": "iterator", "kind": 12, "label": "iterator" }, { "detail": "∀ r a. Iterator r a → (a → ST r Unit) → ST r Unit", "documentation": { "kind": "markdown", "value": "Perform an action once for each item left in an iterator. If the action\nitself also advances the same iterator, `iterate` will miss those items\nout.\n\n*From: Data.Array.ST.Iterator*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "iterate", "Data.Array.ST.Iterator", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "iterate" }, "sortText": "Z.iterate", "additionalTextEdits": null, "filterText": null, "insertText": "iterate", "kind": 12, "label": "iterate" }, { "detail": "∀ a. HeytingAlgebra a ⇒ a → a → a", "documentation": { "kind": "markdown", "value": "\n*From: Data.BooleanAlgebra*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "implies", "Data.BooleanAlgebra", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "implies" }, "sortText": "Z.implies", "additionalTextEdits": null, "filterText": null, "insertText": "implies", "kind": 12, "label": "implies" }, { "detail": "Year → Boolean", "documentation": { "kind": "markdown", "value": "Checks whether a year is a leap year according to the proleptic Gregorian\ncalendar.\n\n*From: Data.Date*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isLeapYear", "Data.Date", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "isLeapYear" }, "sortText": "Z.isLeapYear", "additionalTextEdits": null, "filterText": null, "insertText": "isLeapYear", "kind": 12, "label": "isLeapYear" }, { "detail": "Milliseconds → Maybe Instant", "documentation": { "kind": "markdown", "value": "Attempts to create an `Instant` from a `Milliseconds` duration. The\nminimum acceptable value equates to the `bottom` `DateTime` and the maximum\nacceptable value equates to the `top` `DateTime`.\n\n*From: Data.DateTime.Instant*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "instant", "Data.DateTime.Instant", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "instant" }, "sortText": "Z.instant", "additionalTextEdits": null, "filterText": null, "insertText": "instant", "kind": 12, "label": "instant" }, { "detail": "∀ a b. Either a b → Boolean", "documentation": { "kind": "markdown", "value": "Returns `true` when the `Either` value was constructed with `Left`.\n\n*From: Data.Either*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isLeft", "Data.Either", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "isLeft" }, "sortText": "Z.isLeft", "additionalTextEdits": null, "filterText": null, "insertText": "isLeft", "kind": 12, "label": "isLeft" }, { "detail": "∀ a b. Either a b → Boolean", "documentation": { "kind": "markdown", "value": "Returns `true` when the `Either` value was constructed with `Right`.\n\n*From: Data.Either*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isRight", "Data.Either", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "isRight" }, "sortText": "Z.isRight", "additionalTextEdits": null, "filterText": null, "insertText": "isRight", "kind": 12, "label": "isRight" }, { "detail": "∀ b a. Inject a b ⇒ a → b", "documentation": { "kind": "markdown", "value": "\n*From: Data.Either.Inject*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "inj", "Data.Either.Inject", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "inj" }, "sortText": "Z.inj", "additionalTextEdits": null, "filterText": null, "insertText": "inj", "kind": 12, "label": "inj" }, { "detail": "∀ a z. a → a \\/ z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Either.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in1", "Data.Either.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "in1" }, "sortText": "Z.in1", "additionalTextEdits": null, "filterText": null, "insertText": "in1", "kind": 12, "label": "in1" }, { "detail": "∀ a b z. b → a \\/ b \\/ z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Either.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in2", "Data.Either.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "in2" }, "sortText": "Z.in2", "additionalTextEdits": null, "filterText": null, "insertText": "in2", "kind": 12, "label": "in2" }, { "detail": "∀ a b c z. c → a \\/ b \\/ c \\/ z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Either.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in3", "Data.Either.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "in3" }, "sortText": "Z.in3", "additionalTextEdits": null, "filterText": null, "insertText": "in3", "kind": 12, "label": "in3" }, { "detail": "∀ a b c d z. d → a \\/ b \\/ c \\/ d \\/ z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Either.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in4", "Data.Either.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "in4" }, "sortText": "Z.in4", "additionalTextEdits": null, "filterText": null, "insertText": "in4", "kind": 12, "label": "in4" }, { "detail": "∀ a b c d e z. e → a \\/ b \\/ c \\/ d \\/ e \\/ z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Either.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in5", "Data.Either.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "in5" }, "sortText": "Z.in5", "additionalTextEdits": null, "filterText": null, "insertText": "in5", "kind": 12, "label": "in5" }, { "detail": "∀ a b c d e f z. f → a \\/ b \\/ c \\/ d \\/ e \\/ f \\/ z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Either.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in6", "Data.Either.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "in6" }, "sortText": "Z.in6", "additionalTextEdits": null, "filterText": null, "insertText": "in6", "kind": 12, "label": "in6" }, { "detail": "∀ a b c d e f g z. g → a \\/ b \\/ c \\/ d \\/ e \\/ f \\/ g \\/ z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Either.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in7", "Data.Either.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "in7" }, "sortText": "Z.in7", "additionalTextEdits": null, "filterText": null, "insertText": "in7", "kind": 12, "label": "in7" }, { "detail": "∀ a b c d e f g h z. h → a \\/ b \\/ c \\/ d \\/ e \\/ f \\/ g \\/ h \\/ z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Either.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in8", "Data.Either.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "in8" }, "sortText": "Z.in8", "additionalTextEdits": null, "filterText": null, "insertText": "in8", "kind": 12, "label": "in8" }, { "detail": "∀ a b c d e f g h i z. i → a \\/ b \\/ c \\/ d \\/ e \\/ f \\/ g \\/ h \\/ i \\/ z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Either.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in9", "Data.Either.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "in9" }, "sortText": "Z.in9", "additionalTextEdits": null, "filterText": null, "insertText": "in9", "kind": 12, "label": "in9" }, { "detail": "∀ a b c d e f g h i j z. j → a \\/ b \\/ c \\/ d \\/ e \\/ f \\/ g \\/ h \\/ i \\/ j \\/ z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Either.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in10", "Data.Either.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "in10" }, "sortText": "Z.in10", "additionalTextEdits": null, "filterText": null, "insertText": "in10", "kind": 12, "label": "in10" }, { "detail": "∀ f m. Foldable f ⇒ Monoid m ⇒ m → f m → m", "documentation": { "kind": "markdown", "value": "Fold a data structure, accumulating values in some `Monoid`,\ncombining adjacent elements using the specified separator.\n\nFor example:\n\n```purescript\n> intercalate \", \" [\"Lorem\", \"ipsum\", \"dolor\"]\n= \"Lorem, ipsum, dolor\"\n\n> intercalate \"*\" [\"a\", \"b\", \"c\"]\n= \"a*b*c\"\n\n> intercalate [1] [[2, 3], [4, 5], [6, 7]]\n= [2, 3, 1, 4, 5, 1, 6, 7]\n```\n\n*From: Data.Foldable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intercalate", "Data.Foldable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "intercalate" }, "sortText": "Z.intercalate", "additionalTextEdits": null, "filterText": null, "insertText": "intercalate", "kind": 12, "label": "intercalate" }, { "detail": "∀ a f. Foldable f ⇒ Int → f a → Maybe a", "documentation": { "kind": "markdown", "value": "Try to get nth element from the left in a data structure\n\n*From: Data.Foldable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "indexl", "Data.Foldable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "indexl" }, "sortText": "Z.indexl", "additionalTextEdits": null, "filterText": null, "insertText": "indexl", "kind": 12, "label": "indexl" }, { "detail": "∀ a f. Foldable f ⇒ Int → f a → Maybe a", "documentation": { "kind": "markdown", "value": "Try to get nth element from the right in a data structure\n\n*From: Data.Foldable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "indexr", "Data.Foldable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "indexr" }, "sortText": "Z.indexr", "additionalTextEdits": null, "filterText": null, "insertText": "indexr", "kind": 12, "label": "indexr" }, { "detail": "∀ t a. Category a ⇒ a t t", "documentation": { "kind": "markdown", "value": "\n*From: Data.Function*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "identity", "Data.Function", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "identity" }, "sortText": "Z.identity", "additionalTextEdits": null, "filterText": null, "insertText": "identity", "kind": 12, "label": "identity" }, { "detail": "∀ f a b. Contravariant f ⇒ (a → b) → (b → a) → f a → f b", "documentation": { "kind": "markdown", "value": "As all `Contravariant` functors are also trivially `Invariant`, this function can be used as the `imap` implementation for any types that have an existing `Contravariant` instance.\n\n*From: Data.Functor.Contravariant*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "imapC", "Data.Functor.Contravariant", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "imapC" }, "sortText": "Z.imapC", "additionalTextEdits": null, "filterText": null, "insertText": "imapC", "kind": 12, "label": "imapC" }, { "detail": "∀ a g f. Inject f g ⇒ f a → g a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Coproduct.Inject*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "inj", "Data.Functor.Coproduct.Inject", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "inj" }, "sortText": "Z.inj", "additionalTextEdits": null, "filterText": null, "insertText": "inj", "kind": 12, "label": "inj" }, { "detail": "∀ a z. a ~> C2 a z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Coproduct.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in1", "Data.Functor.Coproduct.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "in1" }, "sortText": "Z.in1", "additionalTextEdits": null, "filterText": null, "insertText": "in1", "kind": 12, "label": "in1" }, { "detail": "∀ a b z. b ~> C3 a b z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Coproduct.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in2", "Data.Functor.Coproduct.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "in2" }, "sortText": "Z.in2", "additionalTextEdits": null, "filterText": null, "insertText": "in2", "kind": 12, "label": "in2" }, { "detail": "∀ a b c z. c ~> C4 a b c z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Coproduct.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in3", "Data.Functor.Coproduct.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "in3" }, "sortText": "Z.in3", "additionalTextEdits": null, "filterText": null, "insertText": "in3", "kind": 12, "label": "in3" }, { "detail": "∀ a b c d z. d ~> C5 a b c d z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Coproduct.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in4", "Data.Functor.Coproduct.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "in4" }, "sortText": "Z.in4", "additionalTextEdits": null, "filterText": null, "insertText": "in4", "kind": 12, "label": "in4" }, { "detail": "∀ a b c d e z. e ~> C6 a b c d e z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Coproduct.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in5", "Data.Functor.Coproduct.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "in5" }, "sortText": "Z.in5", "additionalTextEdits": null, "filterText": null, "insertText": "in5", "kind": 12, "label": "in5" }, { "detail": "∀ a b c d e f z. f ~> C7 a b c d e f z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Coproduct.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in6", "Data.Functor.Coproduct.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "in6" }, "sortText": "Z.in6", "additionalTextEdits": null, "filterText": null, "insertText": "in6", "kind": 12, "label": "in6" }, { "detail": "∀ a b c d e f g z. g ~> C8 a b c d e f g z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Coproduct.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in7", "Data.Functor.Coproduct.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "in7" }, "sortText": "Z.in7", "additionalTextEdits": null, "filterText": null, "insertText": "in7", "kind": 12, "label": "in7" }, { "detail": "∀ a b c d e f g h z. h ~> C9 a b c d e f g h z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Coproduct.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in8", "Data.Functor.Coproduct.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "in8" }, "sortText": "Z.in8", "additionalTextEdits": null, "filterText": null, "insertText": "in8", "kind": 12, "label": "in8" }, { "detail": "∀ a b c d e f g h i z. i ~> C10 a b c d e f g h i z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Coproduct.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in9", "Data.Functor.Coproduct.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "in9" }, "sortText": "Z.in9", "additionalTextEdits": null, "filterText": null, "insertText": "in9", "kind": 12, "label": "in9" }, { "detail": "∀ a b c d e f g h i j z. j ~> C11 a b c d e f g h i j z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Coproduct.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in10", "Data.Functor.Coproduct.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "in10" }, "sortText": "Z.in10", "additionalTextEdits": null, "filterText": null, "insertText": "in10", "kind": 12, "label": "in10" }, { "detail": "∀ a b f. Invariant f ⇒ (a → b) → (b → a) → f a → f b", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Invariant*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "imap", "Data.Functor.Invariant", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "imap" }, "sortText": "Z.imap", "additionalTextEdits": null, "filterText": null, "insertText": "imap", "kind": 12, "label": "imap" }, { "detail": "∀ f a b. Functor f ⇒ (a → b) → (b → a) → f a → f b", "documentation": { "kind": "markdown", "value": "As all `Functor`s are also trivially `Invariant`, this function can be\nused as the `imap` implementation for any types that has an existing\n`Functor` instance.\n\n*From: Data.Functor.Invariant*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "imapF", "Data.Functor.Invariant", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "imapF" }, "sortText": "Z.imapF", "additionalTextEdits": null, "filterText": null, "insertText": "imapF", "kind": 12, "label": "imapF" }, { "detail": "∀ a. HeytingAlgebra a ⇒ a → a → a", "documentation": { "kind": "markdown", "value": "\n*From: Data.HeytingAlgebra*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "implies", "Data.HeytingAlgebra", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "implies" }, "sortText": "Z.implies", "additionalTextEdits": null, "filterText": null, "insertText": "implies", "kind": 12, "label": "implies" }, { "detail": "∀ subrow row rowlist. HeytingAlgebraRecord rowlist row subrow ⇒ RLProxy rowlist → Record row → Record row → Record subrow", "documentation": { "kind": "markdown", "value": "\n*From: Data.HeytingAlgebra*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "impliesRecord", "Data.HeytingAlgebra", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "impliesRecord" }, "sortText": "Z.impliesRecord", "additionalTextEdits": null, "filterText": null, "insertText": "impliesRecord", "kind": 12, "label": "impliesRecord" }, { "detail": "JSDate → Boolean", "documentation": { "kind": "markdown", "value": "Checks whether a date value is valid. When a date is invalid, the majority\nof the functions return `NaN`, `\"Invalid Date\"`, or throw an exception.\n\n*From: Data.JSDate*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isValid", "Data.JSDate", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "isValid" }, "sortText": "Z.isValid", "additionalTextEdits": null, "filterText": null, "insertText": "isValid", "kind": 12, "label": "isValid" }, { "detail": "∀ a. Ord a ⇒ a → List a → List a", "documentation": { "kind": "markdown", "value": "Insert an element into a sorted list.\n\nRunning time: `O(n)`\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insert", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "insert" }, "sortText": "Z.insert", "additionalTextEdits": null, "filterText": null, "insertText": "insert", "kind": 12, "label": "insert" }, { "detail": "∀ a. (a → a → Ordering) → a → List a → List a", "documentation": { "kind": "markdown", "value": "Insert an element into a sorted list, using the specified function to\ndetermine the ordering of elements.\n\nRunning time: `O(n)`\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insertBy", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "insertBy" }, "sortText": "Z.insertBy", "additionalTextEdits": null, "filterText": null, "insertText": "insertBy", "kind": 12, "label": "insertBy" }, { "detail": "∀ a. List a → Maybe (List a)", "documentation": { "kind": "markdown", "value": "Get all but the last element of a list, or `Nothing` if the list is empty.\n\nRunning time: `O(n)`\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "init", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "init" }, "sortText": "Z.init", "additionalTextEdits": null, "filterText": null, "insertText": "init", "kind": 12, "label": "init" }, { "detail": "∀ a. List a → Int → Maybe a", "documentation": { "kind": "markdown", "value": "Get the element at the specified index, or `Nothing` if the index is out-of-bounds.\n\nRunning time: `O(n)` where `n` is the required index.\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "index", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "index" }, "sortText": "Z.index", "additionalTextEdits": null, "filterText": null, "insertText": "index", "kind": 12, "label": "index" }, { "detail": "∀ a. Int → a → List a → Maybe (List a)", "documentation": { "kind": "markdown", "value": "Insert an element into a list at the specified index, returning a new\nlist or `Nothing` if the index is out-of-bounds.\n\nRunning time: `O(n)`\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insertAt", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "insertAt" }, "sortText": "Z.insertAt", "additionalTextEdits": null, "filterText": null, "insertText": "insertAt", "kind": 12, "label": "insertAt" }, { "detail": "∀ a. Eq a ⇒ List a → List a → List a", "documentation": { "kind": "markdown", "value": "Calculate the intersection of two lists.\n\nRunning time: `O(n^2)`\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersect", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "intersect" }, "sortText": "Z.intersect", "additionalTextEdits": null, "filterText": null, "insertText": "intersect", "kind": 12, "label": "intersect" }, { "detail": "∀ a. (a → a → Boolean) → List a → List a → List a", "documentation": { "kind": "markdown", "value": "Calculate the intersection of two lists, using the specified\nfunction to determine equality of elements.\n\nRunning time: `O(n^2)`\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersectBy", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "intersectBy" }, "sortText": "Z.intersectBy", "additionalTextEdits": null, "filterText": null, "insertText": "intersectBy", "kind": 12, "label": "intersectBy" }, { "detail": "∀ f m. Foldable f ⇒ Monoid m ⇒ m → f m → m", "documentation": { "kind": "markdown", "value": "Fold a data structure, accumulating values in some `Monoid`,\ncombining adjacent elements using the specified separator.\n\nFor example:\n\n```purescript\n> intercalate \", \" [\"Lorem\", \"ipsum\", \"dolor\"]\n= \"Lorem, ipsum, dolor\"\n\n> intercalate \"*\" [\"a\", \"b\", \"c\"]\n= \"a*b*c\"\n\n> intercalate [1] [[2, 3], [4, 5], [6, 7]]\n= [2, 3, 1, 4, 5, 1, 6, 7]\n```\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intercalate", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "intercalate" }, "sortText": "Z.intercalate", "additionalTextEdits": null, "filterText": null, "insertText": "intercalate", "kind": 12, "label": "intercalate" }, { "detail": "∀ a. (a → a) → a → List a", "documentation": { "kind": "markdown", "value": "Create a list by iterating a function\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "iterate", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "iterate" }, "sortText": "Z.iterate", "additionalTextEdits": null, "filterText": null, "insertText": "iterate", "kind": 12, "label": "iterate" }, { "detail": "∀ a. Ord a ⇒ a → List a → List a", "documentation": { "kind": "markdown", "value": "Insert an element into a sorted list.\n\nRunning time: `O(n)`\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insert", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "insert" }, "sortText": "Z.insert", "additionalTextEdits": null, "filterText": null, "insertText": "insert", "kind": 12, "label": "insert" }, { "detail": "∀ a. (a → a → Ordering) → a → List a → List a", "documentation": { "kind": "markdown", "value": "Insert an element into a sorted list, using the specified function to determine the ordering\nof elements.\n\nRunning time: `O(n)`\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insertBy", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "insertBy" }, "sortText": "Z.insertBy", "additionalTextEdits": null, "filterText": null, "insertText": "insertBy", "kind": 12, "label": "insertBy" }, { "detail": "∀ a. List a → Maybe (List a)", "documentation": { "kind": "markdown", "value": "Get all but the last element of a list, or `Nothing` if the list is empty.\n\nRunning time: `O(n)`\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "init", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "init" }, "sortText": "Z.init", "additionalTextEdits": null, "filterText": null, "insertText": "init", "kind": 12, "label": "init" }, { "detail": "∀ a. List a → Int → Maybe a", "documentation": { "kind": "markdown", "value": "Get the element at the specified index, or `Nothing` if the index is out-of-bounds.\n\nRunning time: `O(n)` where `n` is the required index.\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "index", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "index" }, "sortText": "Z.index", "additionalTextEdits": null, "filterText": null, "insertText": "index", "kind": 12, "label": "index" }, { "detail": "∀ a. Int → a → List a → List a", "documentation": { "kind": "markdown", "value": "Insert an element into a list at the specified index, returning a new\nlist or `Nothing` if the index is out-of-bounds.\n\nThis function differs from the strict equivalent in that out-of-bounds arguments\nresult in the element being appended at the _end_ of the list.\n\nRunning time: `O(n)`\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insertAt", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "insertAt" }, "sortText": "Z.insertAt", "additionalTextEdits": null, "filterText": null, "insertText": "insertAt", "kind": 12, "label": "insertAt" }, { "detail": "∀ a. Eq a ⇒ List a → List a → List a", "documentation": { "kind": "markdown", "value": "Calculate the intersection of two lists.\n\nRunning time: `O(n^2)`\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersect", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "intersect" }, "sortText": "Z.intersect", "additionalTextEdits": null, "filterText": null, "insertText": "intersect", "kind": 12, "label": "intersect" }, { "detail": "∀ a. (a → a → Boolean) → List a → List a → List a", "documentation": { "kind": "markdown", "value": "Calculate the intersection of two lists, using the specified\nfunction to determine equality of elements.\n\nRunning time: `O(n^2)`\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersectBy", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "intersectBy" }, "sortText": "Z.intersectBy", "additionalTextEdits": null, "filterText": null, "insertText": "intersectBy", "kind": 12, "label": "intersectBy" }, { "detail": "∀ f m. Foldable f ⇒ Monoid m ⇒ m → f m → m", "documentation": { "kind": "markdown", "value": "Fold a data structure, accumulating values in some `Monoid`,\ncombining adjacent elements using the specified separator.\n\nFor example:\n\n```purescript\n> intercalate \", \" [\"Lorem\", \"ipsum\", \"dolor\"]\n= \"Lorem, ipsum, dolor\"\n\n> intercalate \"*\" [\"a\", \"b\", \"c\"]\n= \"a*b*c\"\n\n> intercalate [1] [[2, 3], [4, 5], [6, 7]]\n= [2, 3, 1, 4, 5, 1, 6, 7]\n```\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intercalate", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "intercalate" }, "sortText": "Z.intercalate", "additionalTextEdits": null, "filterText": null, "insertText": "intercalate", "kind": 12, "label": "intercalate" }, { "detail": "∀ a. (a → a) → a → NonEmptyList a", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.Lazy.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "iterate", "Data.List.Lazy.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "iterate" }, "sortText": "Z.iterate", "additionalTextEdits": null, "filterText": null, "insertText": "iterate", "kind": 12, "label": "iterate" }, { "detail": "NonEmptyList ~> List", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.Lazy.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "init", "Data.List.Lazy.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "init" }, "sortText": "Z.init", "additionalTextEdits": null, "filterText": null, "insertText": "init", "kind": 12, "label": "init" }, { "detail": "NonEmptyList ~> List", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "init", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "init" }, "sortText": "Z.init", "additionalTextEdits": null, "filterText": null, "insertText": "init", "kind": 12, "label": "init" }, { "detail": "∀ a. NonEmptyList a → Int → Maybe a", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "index", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "index" }, "sortText": "Z.index", "additionalTextEdits": null, "filterText": null, "insertText": "index", "kind": 12, "label": "index" }, { "detail": "∀ a. Int → a → NonEmptyList a → Maybe (NonEmptyList a)", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insertAt", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "insertAt" }, "sortText": "Z.insertAt", "additionalTextEdits": null, "filterText": null, "insertText": "insertAt", "kind": 12, "label": "insertAt" }, { "detail": "∀ a. Eq a ⇒ NonEmptyList a → NonEmptyList a → NonEmptyList a", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersect", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "intersect" }, "sortText": "Z.intersect", "additionalTextEdits": null, "filterText": null, "insertText": "intersect", "kind": 12, "label": "intersect" }, { "detail": "∀ a. (a → a → Boolean) → NonEmptyList a → NonEmptyList a → NonEmptyList a", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersectBy", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "intersectBy" }, "sortText": "Z.intersectBy", "additionalTextEdits": null, "filterText": null, "insertText": "intersectBy", "kind": 12, "label": "intersectBy" }, { "detail": "∀ f m. Foldable f ⇒ Monoid m ⇒ m → f m → m", "documentation": { "kind": "markdown", "value": "Fold a data structure, accumulating values in some `Monoid`,\ncombining adjacent elements using the specified separator.\n\nFor example:\n\n```purescript\n> intercalate \", \" [\"Lorem\", \"ipsum\", \"dolor\"]\n= \"Lorem, ipsum, dolor\"\n\n> intercalate \"*\" [\"a\", \"b\", \"c\"]\n= \"a*b*c\"\n\n> intercalate [1] [[2, 3], [4, 5], [6, 7]]\n= [2, 3, 1, 4, 5, 1, 6, 7]\n```\n\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intercalate", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "intercalate" }, "sortText": "Z.intercalate", "additionalTextEdits": null, "filterText": null, "insertText": "intercalate", "kind": 12, "label": "intercalate" }, { "detail": "∀ a. Partial ⇒ List a → List a", "documentation": { "kind": "markdown", "value": "Get all but the last element of a non-empty list.\n\nRunning time: `O(n)`\n\n*From: Data.List.Partial*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "init", "Data.List.Partial", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "init" }, "sortText": "Z.init", "additionalTextEdits": null, "filterText": null, "insertText": "init", "kind": 12, "label": "init" }, { "detail": "∀ k v. Ord k ⇒ k → v → Map k v → Map k v", "documentation": { "kind": "markdown", "value": "Insert or replace a key/value pair in a map\n\n*From: Data.Map*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insert", "Data.Map", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "insert" }, "sortText": "Z.insert", "additionalTextEdits": null, "filterText": null, "insertText": "insert", "kind": 12, "label": "insert" }, { "detail": "∀ k v. Ord k ⇒ (v → v → v) → k → v → Map k v → Map k v", "documentation": { "kind": "markdown", "value": "Inserts or updates a value with the given function.\n\nThe combining function is called with the existing value as the first\nargument and the new value as the second argument.\n\n*From: Data.Map*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insertWith", "Data.Map", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "insertWith" }, "sortText": "Z.insertWith", "additionalTextEdits": null, "filterText": null, "insertText": "insertWith", "kind": 12, "label": "insertWith" }, { "detail": "∀ k a b. Ord k ⇒ Map k a → Map k b → Map k a", "documentation": { "kind": "markdown", "value": "Compute the intersection of two maps, preferring values from the first map in the case\nof duplicate keys.\n\n*From: Data.Map*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersection", "Data.Map", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "intersection" }, "sortText": "Z.intersection", "additionalTextEdits": null, "filterText": null, "insertText": "intersection", "kind": 12, "label": "intersection" }, { "detail": "∀ k a b c. Ord k ⇒ (a → b → c) → Map k a → Map k b → Map k c", "documentation": { "kind": "markdown", "value": "Compute the intersection of two maps, using the specified function\nto combine values for duplicate keys.\n\n*From: Data.Map*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersectionWith", "Data.Map", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "intersectionWith" }, "sortText": "Z.intersectionWith", "additionalTextEdits": null, "filterText": null, "insertText": "intersectionWith", "kind": 12, "label": "intersectionWith" }, { "detail": "∀ k v. Map k v → Boolean", "documentation": { "kind": "markdown", "value": "Test if a map is empty\n\n*From: Data.Map*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isEmpty", "Data.Map", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "isEmpty" }, "sortText": "Z.isEmpty", "additionalTextEdits": null, "filterText": null, "insertText": "isEmpty", "kind": 12, "label": "isEmpty" }, { "detail": "∀ k v. Ord k ⇒ Eq v ⇒ Map k v → Map k v → Boolean", "documentation": { "kind": "markdown", "value": "Test whether one map contains all of the keys and values contained in another map\n\n*From: Data.Map*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isSubmap", "Data.Map", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "isSubmap" }, "sortText": "Z.isSubmap", "additionalTextEdits": null, "filterText": null, "insertText": "isSubmap", "kind": 12, "label": "isSubmap" }, { "detail": "∀ k v. Map k v → Boolean", "documentation": { "kind": "markdown", "value": "Test if a map is empty\n\n*From: Data.Map.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isEmpty", "Data.Map.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "isEmpty" }, "sortText": "Z.isEmpty", "additionalTextEdits": null, "filterText": null, "insertText": "isEmpty", "kind": 12, "label": "isEmpty" }, { "detail": "∀ k v. Ord k ⇒ k → v → Map k v → Map k v", "documentation": { "kind": "markdown", "value": "Insert or replace a key/value pair in a map\n\n*From: Data.Map.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insert", "Data.Map.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "insert" }, "sortText": "Z.insert", "additionalTextEdits": null, "filterText": null, "insertText": "insert", "kind": 12, "label": "insert" }, { "detail": "∀ k v. Ord k ⇒ (v → v → v) → k → v → Map k v → Map k v", "documentation": { "kind": "markdown", "value": "Inserts or updates a value with the given function.\n\nThe combining function is called with the existing value as the first\nargument and the new value as the second argument.\n\n*From: Data.Map.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insertWith", "Data.Map.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "insertWith" }, "sortText": "Z.insertWith", "additionalTextEdits": null, "filterText": null, "insertText": "insertWith", "kind": 12, "label": "insertWith" }, { "detail": "∀ k a b. Ord k ⇒ Map k a → Map k b → Map k a", "documentation": { "kind": "markdown", "value": "Compute the intersection of two maps, preferring values from the first map in the case\nof duplicate keys.\n\n*From: Data.Map.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersection", "Data.Map.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "intersection" }, "sortText": "Z.intersection", "additionalTextEdits": null, "filterText": null, "insertText": "intersection", "kind": 12, "label": "intersection" }, { "detail": "∀ k a b c. Ord k ⇒ (a → b → c) → Map k a → Map k b → Map k c", "documentation": { "kind": "markdown", "value": "Compute the intersection of two maps, using the specified function\nto combine values for duplicate keys.\n\n*From: Data.Map.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersectionWith", "Data.Map.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "intersectionWith" }, "sortText": "Z.intersectionWith", "additionalTextEdits": null, "filterText": null, "insertText": "intersectionWith", "kind": 12, "label": "intersectionWith" }, { "detail": "∀ k v. Ord k ⇒ Eq v ⇒ Map k v → Map k v → Boolean", "documentation": { "kind": "markdown", "value": "Test whether one map contains all of the keys and values contained in another map\n\n*From: Data.Map.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isSubmap", "Data.Map.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "isSubmap" }, "sortText": "Z.isSubmap", "additionalTextEdits": null, "filterText": null, "insertText": "isSubmap", "kind": 12, "label": "isSubmap" }, { "detail": "∀ a. Maybe a → Boolean", "documentation": { "kind": "markdown", "value": "Returns `true` when the `Maybe` value was constructed with `Just`.\n\n*From: Data.Maybe*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isJust", "Data.Maybe", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "isJust" }, "sortText": "Z.isJust", "additionalTextEdits": null, "filterText": null, "insertText": "isJust", "kind": 12, "label": "isJust" }, { "detail": "∀ a. Maybe a → Boolean", "documentation": { "kind": "markdown", "value": "Returns `true` when the `Maybe` value is `Nothing`.\n\n*From: Data.Maybe*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isNothing", "Data.Maybe", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "isNothing" }, "sortText": "Z.isNothing", "additionalTextEdits": null, "filterText": null, "insertText": "isNothing", "kind": 12, "label": "isNothing" }, { "detail": "Ordering → Ordering", "documentation": { "kind": "markdown", "value": "Reverses an `Ordering` value, flipping greater than for less than while\npreserving equality.\n\n*From: Data.Ordering*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "invert", "Data.Ordering", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "invert" }, "sortText": "Z.invert", "additionalTextEdits": null, "filterText": null, "insertText": "invert", "kind": 12, "label": "invert" }, { "detail": "∀ f m. Foldable1 f ⇒ Semigroup m ⇒ m → f m → m", "documentation": { "kind": "markdown", "value": "Fold a data structure using a `Semigroup` instance,\ncombining adjacent elements using the specified separator.\n\n*From: Data.Semigroup.Foldable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intercalate", "Data.Semigroup.Foldable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "intercalate" }, "sortText": "Z.intercalate", "additionalTextEdits": null, "filterText": null, "insertText": "intercalate", "kind": 12, "label": "intercalate" }, { "detail": "∀ f m a. Foldable1 f ⇒ Semigroup m ⇒ m → (a → m) → f a → m", "documentation": { "kind": "markdown", "value": "Fold a data structure, accumulating values in some `Semigroup`,\ncombining adjacent elements using the specified separator.\n\n*From: Data.Semigroup.Foldable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intercalateMap", "Data.Semigroup.Foldable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "intercalateMap" }, "sortText": "Z.intercalateMap", "additionalTextEdits": null, "filterText": null, "insertText": "intercalateMap", "kind": 12, "label": "intercalateMap" }, { "detail": "∀ a. Set a → Boolean", "documentation": { "kind": "markdown", "value": "Test if a set is empty\n\n*From: Data.Set*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isEmpty", "Data.Set", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "isEmpty" }, "sortText": "Z.isEmpty", "additionalTextEdits": null, "filterText": null, "insertText": "isEmpty", "kind": 12, "label": "isEmpty" }, { "detail": "∀ a. Ord a ⇒ a → Set a → Set a", "documentation": { "kind": "markdown", "value": "Insert a value into a set\n\n*From: Data.Set*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insert", "Data.Set", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "insert" }, "sortText": "Z.insert", "additionalTextEdits": null, "filterText": null, "insertText": "insert", "kind": 12, "label": "insert" }, { "detail": "∀ a. Ord a ⇒ Set a → Set a → Set a", "documentation": { "kind": "markdown", "value": "The set of elements which are in both the first and second set\n\n*From: Data.Set*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersection", "Data.Set", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "intersection" }, "sortText": "Z.intersection", "additionalTextEdits": null, "filterText": null, "insertText": "intersection", "kind": 12, "label": "intersection" }, { "detail": "∀ a. Ord a ⇒ a → NonEmptySet a → NonEmptySet a", "documentation": { "kind": "markdown", "value": "Insert a value into a set.\n\n*From: Data.Set.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insert", "Data.Set.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "insert" }, "sortText": "Z.insert", "additionalTextEdits": null, "filterText": null, "insertText": "insert", "kind": 12, "label": "insert" }, { "detail": "∀ a. Ord a ⇒ NonEmptySet a → NonEmptySet a → Maybe (NonEmptySet a)", "documentation": { "kind": "markdown", "value": "The set of elements which are in both the first and second set. `Nothing`\nif the sets are disjoint.\n\n*From: Data.Set.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersection", "Data.Set.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "intersection" }, "sortText": "Z.intersection", "additionalTextEdits": null, "filterText": null, "insertText": "intersection", "kind": 12, "label": "intersection" }, { "detail": "Pattern → String → Maybe Int", "documentation": { "kind": "markdown", "value": "Returns the number of code points preceding the first match of the given\npattern in the string. Returns Nothing when no matches are found.\n\n```purescript\n>>> indexOf (Pattern \"𝐀\") \"b 𝐀𝐀 c 𝐀\"\nJust 2\n>>> indexOf (Pattern \"o\") \"b 𝐀𝐀 c 𝐀\"\nNothing\n```\n\n\n*From: Data.String*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "indexOf", "Data.String", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "indexOf" }, "sortText": "Z.indexOf", "additionalTextEdits": null, "filterText": null, "insertText": "indexOf", "kind": 12, "label": "indexOf" }, { "detail": "Pattern → Int → String → Maybe Int", "documentation": { "kind": "markdown", "value": "Returns the number of code points preceding the first match of the given\npattern in the string. Pattern matches preceding the given index will be\nignored. Returns Nothing when no matches are found.\n\n```purescript\n>>> indexOf' (Pattern \"𝐀\") 4 \"b 𝐀𝐀 c 𝐀\"\nJust 7\n>>> indexOf' (Pattern \"o\") 4 \"b 𝐀𝐀 c 𝐀\"\nNothing\n```\n\n\n*From: Data.String*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "indexOf'", "Data.String", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "indexOf'" }, "sortText": "Z.indexOf'", "additionalTextEdits": null, "filterText": null, "insertText": "indexOf'", "kind": 12, "label": "indexOf'" }, { "detail": "Pattern → String → Maybe Int", "documentation": { "kind": "markdown", "value": "Returns the number of code points preceding the first match of the given\npattern in the string. Returns Nothing when no matches are found.\n\n```purescript\n>>> indexOf (Pattern \"𝐀\") \"b 𝐀𝐀 c 𝐀\"\nJust 2\n>>> indexOf (Pattern \"o\") \"b 𝐀𝐀 c 𝐀\"\nNothing\n```\n\n\n*From: Data.String.CodePoints*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "indexOf", "Data.String.CodePoints", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "indexOf" }, "sortText": "Z.indexOf", "additionalTextEdits": null, "filterText": null, "insertText": "indexOf", "kind": 12, "label": "indexOf" }, { "detail": "Pattern → Int → String → Maybe Int", "documentation": { "kind": "markdown", "value": "Returns the number of code points preceding the first match of the given\npattern in the string. Pattern matches preceding the given index will be\nignored. Returns Nothing when no matches are found.\n\n```purescript\n>>> indexOf' (Pattern \"𝐀\") 4 \"b 𝐀𝐀 c 𝐀\"\nJust 7\n>>> indexOf' (Pattern \"o\") 4 \"b 𝐀𝐀 c 𝐀\"\nNothing\n```\n\n\n*From: Data.String.CodePoints*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "indexOf'", "Data.String.CodePoints", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "indexOf'" }, "sortText": "Z.indexOf'", "additionalTextEdits": null, "filterText": null, "insertText": "indexOf'", "kind": 12, "label": "indexOf'" }, { "detail": "Pattern → String → Maybe Int", "documentation": { "kind": "markdown", "value": "Returns the index of the first occurrence of the pattern in the\ngiven string. Returns `Nothing` if there is no match.\n\n```purescript\nindexOf (Pattern \"c\") \"abcdc\" == Just 2\nindexOf (Pattern \"c\") \"aaa\" == Nothing\n```\n\n\n*From: Data.String.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "indexOf", "Data.String.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "indexOf" }, "sortText": "Z.indexOf", "additionalTextEdits": null, "filterText": null, "insertText": "indexOf", "kind": 12, "label": "indexOf" }, { "detail": "Pattern → Int → String → Maybe Int", "documentation": { "kind": "markdown", "value": "Returns the index of the first occurrence of the pattern in the\ngiven string, starting at the specified index. Returns `Nothing` if there is\nno match.\n\n```purescript\nindexOf' (Pattern \"a\") 2 \"ababa\" == Just 2\nindexOf' (Pattern \"a\") 3 \"ababa\" == Just 4\n```\n\n\n*From: Data.String.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "indexOf'", "Data.String.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "indexOf'" }, "sortText": "Z.indexOf'", "additionalTextEdits": null, "filterText": null, "insertText": "indexOf'", "kind": 12, "label": "indexOf'" }, { "detail": "Pattern → NonEmptyString → Maybe Int", "documentation": { "kind": "markdown", "value": "\n*From: Data.String.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "indexOf", "Data.String.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "indexOf" }, "sortText": "Z.indexOf", "additionalTextEdits": null, "filterText": null, "insertText": "indexOf", "kind": 12, "label": "indexOf" }, { "detail": "Pattern → Int → NonEmptyString → Maybe Int", "documentation": { "kind": "markdown", "value": "\n*From: Data.String.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "indexOf'", "Data.String.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "indexOf'" }, "sortText": "Z.indexOf'", "additionalTextEdits": null, "filterText": null, "insertText": "indexOf'", "kind": 12, "label": "indexOf'" }, { "detail": "Pattern → NonEmptyString → Maybe Int", "documentation": { "kind": "markdown", "value": "\n*From: Data.String.NonEmpty.CodePoints*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "indexOf", "Data.String.NonEmpty.CodePoints", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "indexOf" }, "sortText": "Z.indexOf", "additionalTextEdits": null, "filterText": null, "insertText": "indexOf", "kind": 12, "label": "indexOf" }, { "detail": "Pattern → Int → NonEmptyString → Maybe Int", "documentation": { "kind": "markdown", "value": "\n*From: Data.String.NonEmpty.CodePoints*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "indexOf'", "Data.String.NonEmpty.CodePoints", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "indexOf'" }, "sortText": "Z.indexOf'", "additionalTextEdits": null, "filterText": null, "insertText": "indexOf'", "kind": 12, "label": "indexOf'" }, { "detail": "Pattern → NonEmptyString → Maybe Int", "documentation": { "kind": "markdown", "value": "Returns the index of the first occurrence of the pattern in the\ngiven string. Returns `Nothing` if there is no match.\n\n```purescript\nindexOf (Pattern \"c\") (NonEmptyString \"abcdc\") == Just 2\nindexOf (Pattern \"c\") (NonEmptyString \"aaa\") == Nothing\n```\n\n*From: Data.String.NonEmpty.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "indexOf", "Data.String.NonEmpty.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "indexOf" }, "sortText": "Z.indexOf", "additionalTextEdits": null, "filterText": null, "insertText": "indexOf", "kind": 12, "label": "indexOf" }, { "detail": "Pattern → Int → NonEmptyString → Maybe Int", "documentation": { "kind": "markdown", "value": "Returns the index of the first occurrence of the pattern in the\ngiven string, starting at the specified index. Returns `Nothing` if there is\nno match.\n\n```purescript\nindexOf' (Pattern \"a\") 2 (NonEmptyString \"ababa\") == Just 2\nindexOf' (Pattern \"a\") 3 (NonEmptyString \"ababa\") == Just 4\n```\n\n*From: Data.String.NonEmpty.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "indexOf'", "Data.String.NonEmpty.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "indexOf'" }, "sortText": "Z.indexOf'", "additionalTextEdits": null, "filterText": null, "insertText": "indexOf'", "kind": 12, "label": "indexOf'" }, { "detail": "RegexFlags", "documentation": { "kind": "markdown", "value": "Only ignoreCase flag set to true\n\n*From: Data.String.Regex.Flags*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "ignoreCase", "Data.String.Regex.Flags", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "ignoreCase" }, "sortText": "Z.ignoreCase", "additionalTextEdits": null, "filterText": null, "insertText": "ignoreCase", "kind": 12, "label": "ignoreCase" }, { "detail": "∀ f m. Foldable f ⇒ Monoid m ⇒ m → f m → m", "documentation": { "kind": "markdown", "value": "Fold a data structure, accumulating values in some `Monoid`,\ncombining adjacent elements using the specified separator.\n\nFor example:\n\n```purescript\n> intercalate \", \" [\"Lorem\", \"ipsum\", \"dolor\"]\n= \"Lorem, ipsum, dolor\"\n\n> intercalate \"*\" [\"a\", \"b\", \"c\"]\n= \"a*b*c\"\n\n> intercalate [1] [[2, 3], [4, 5], [6, 7]]\n= [2, 3, 1, 4, 5, 1, 6, 7]\n```\n\n*From: Data.Traversable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intercalate", "Data.Traversable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "intercalate" }, "sortText": "Z.intercalate", "additionalTextEdits": null, "filterText": null, "insertText": "intercalate", "kind": 12, "label": "intercalate" }, { "detail": "∀ a. AVarStatus a → Boolean", "documentation": { "kind": "markdown", "value": "\n*From: Effect.AVar*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isEmpty", "Effect.AVar", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "isEmpty" }, "sortText": "Z.isEmpty", "additionalTextEdits": null, "filterText": null, "insertText": "isEmpty", "kind": 12, "label": "isEmpty" }, { "detail": "∀ a. AVarStatus a → Boolean", "documentation": { "kind": "markdown", "value": "\n*From: Effect.AVar*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isFilled", "Effect.AVar", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "isFilled" }, "sortText": "Z.isFilled", "additionalTextEdits": null, "filterText": null, "insertText": "isFilled", "kind": 12, "label": "isFilled" }, { "detail": "∀ a. AVarStatus a → Boolean", "documentation": { "kind": "markdown", "value": "\n*From: Effect.AVar*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isKilled", "Effect.AVar", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "isKilled" }, "sortText": "Z.isKilled", "additionalTextEdits": null, "filterText": null, "insertText": "isKilled", "kind": 12, "label": "isKilled" }, { "detail": "∀ a. Aff a → Aff a", "documentation": { "kind": "markdown", "value": "Runs an effect such that it cannot be killed.\n\n*From: Effect.Aff*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "invincible", "Effect.Aff", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "invincible" }, "sortText": "Z.invincible", "additionalTextEdits": null, "filterText": null, "insertText": "invincible", "kind": 12, "label": "invincible" }, { "detail": "∀ a. AVarStatus a → Boolean", "documentation": { "kind": "markdown", "value": "\n*From: Effect.Aff.AVar*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isEmpty", "Effect.Aff.AVar", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "isEmpty" }, "sortText": "Z.isEmpty", "additionalTextEdits": null, "filterText": null, "insertText": "isEmpty", "kind": 12, "label": "isEmpty" }, { "detail": "∀ a. AVarStatus a → Boolean", "documentation": { "kind": "markdown", "value": "\n*From: Effect.Aff.AVar*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isFilled", "Effect.Aff.AVar", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "isFilled" }, "sortText": "Z.isFilled", "additionalTextEdits": null, "filterText": null, "insertText": "isFilled", "kind": 12, "label": "isFilled" }, { "detail": "∀ a. AVarStatus a → Boolean", "documentation": { "kind": "markdown", "value": "\n*From: Effect.Aff.AVar*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isKilled", "Effect.Aff.AVar", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "isKilled" }, "sortText": "Z.isKilled", "additionalTextEdits": null, "filterText": null, "insertText": "isKilled", "kind": 12, "label": "isKilled" }, { "detail": "∀ m. MonadEffect m ⇒ String → m Unit", "documentation": { "kind": "markdown", "value": "\n*From: Effect.Class.Console*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "info", "Effect.Class.Console", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "info" }, "sortText": "Z.info", "additionalTextEdits": null, "filterText": null, "insertText": "info", "kind": 12, "label": "info" }, { "detail": "∀ m a. MonadEffect m ⇒ Show a ⇒ a → m Unit", "documentation": { "kind": "markdown", "value": "\n*From: Effect.Class.Console*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "infoShow", "Effect.Class.Console", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "infoShow" }, "sortText": "Z.infoShow", "additionalTextEdits": null, "filterText": null, "insertText": "infoShow", "kind": 12, "label": "infoShow" }, { "detail": "String → Effect Unit", "documentation": { "kind": "markdown", "value": "Write an info message to the console.\n\n*From: Effect.Console*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "info", "Effect.Console", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "info" }, "sortText": "Z.info", "additionalTextEdits": null, "filterText": null, "insertText": "info", "kind": 12, "label": "info" }, { "detail": "∀ a. Show a ⇒ a → Effect Unit", "documentation": { "kind": "markdown", "value": "Write an info value to the console, using its `Show` instance to produce a\n`String`.\n\n*From: Effect.Console*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "infoShow", "Effect.Console", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "infoShow" }, "sortText": "Z.infoShow", "additionalTextEdits": null, "filterText": null, "insertText": "infoShow", "kind": 12, "label": "infoShow" }, { "detail": "Foreign → Boolean", "documentation": { "kind": "markdown", "value": "Test whether a foreign value is null\n\n*From: Foreign*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isNull", "Foreign", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "isNull" }, "sortText": "Z.isNull", "additionalTextEdits": null, "filterText": null, "insertText": "isNull", "kind": 12, "label": "isNull" }, { "detail": "Foreign → Boolean", "documentation": { "kind": "markdown", "value": "Test whether a foreign value is undefined\n\n*From: Foreign*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isUndefined", "Foreign", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "isUndefined" }, "sortText": "Z.isUndefined", "additionalTextEdits": null, "filterText": null, "insertText": "isUndefined", "kind": 12, "label": "isUndefined" }, { "detail": "Foreign → Boolean", "documentation": { "kind": "markdown", "value": "Test whether a foreign value is an array\n\n*From: Foreign*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isArray", "Foreign", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "isArray" }, "sortText": "Z.isArray", "additionalTextEdits": null, "filterText": null, "insertText": "isArray", "kind": 12, "label": "isArray" }, { "detail": "∀ i a. Indexable a ⇒ Index i ⇒ a → i → ExceptT (NonEmptyList ForeignError) Identity Foreign", "documentation": { "kind": "markdown", "value": "\n*From: Foreign.Index*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "ix", "Foreign.Index", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "ix" }, "sortText": "Z.ix", "additionalTextEdits": null, "filterText": null, "insertText": "ix", "kind": 12, "label": "ix" }, { "detail": "∀ i. Index i ⇒ Foreign → i → ExceptT (NonEmptyList ForeignError) Identity Foreign", "documentation": { "kind": "markdown", "value": "\n*From: Foreign.Index*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "index", "Foreign.Index", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "index" }, "sortText": "Z.index", "additionalTextEdits": null, "filterText": null, "insertText": "index", "kind": 12, "label": "index" }, { "detail": "Number → Boolean", "documentation": { "kind": "markdown", "value": "Test whether a number is NaN\n\n*From: Global*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isNaN", "Global", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "isNaN" }, "sortText": "Z.isNaN", "additionalTextEdits": null, "filterText": null, "insertText": "isNaN", "kind": 12, "label": "isNaN" }, { "detail": "Number", "documentation": { "kind": "markdown", "value": "Positive infinity\n\n*From: Global*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "infinity", "Global", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "infinity" }, "sortText": "Z.infinity", "additionalTextEdits": null, "filterText": null, "insertText": "infinity", "kind": 12, "label": "infinity" }, { "detail": "Number → Boolean", "documentation": { "kind": "markdown", "value": "Test whether a number is finite\n\n*From: Global*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isFinite", "Global", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "isFinite" }, "sortText": "Z.isFinite", "additionalTextEdits": null, "filterText": null, "insertText": "isFinite", "kind": 12, "label": "isFinite" }, { "detail": "Stats → Boolean", "documentation": { "kind": "markdown", "value": "\n*From: Node.FS.Stats*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isFile", "Node.FS.Stats", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "isFile" }, "sortText": "Z.isFile", "additionalTextEdits": null, "filterText": null, "insertText": "isFile", "kind": 12, "label": "isFile" }, { "detail": "Stats → Boolean", "documentation": { "kind": "markdown", "value": "\n*From: Node.FS.Stats*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isDirectory", "Node.FS.Stats", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "isDirectory" }, "sortText": "Z.isDirectory", "additionalTextEdits": null, "filterText": null, "insertText": "isDirectory", "kind": 12, "label": "isDirectory" }, { "detail": "Stats → Boolean", "documentation": { "kind": "markdown", "value": "\n*From: Node.FS.Stats*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isBlockDevice", "Node.FS.Stats", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "isBlockDevice" }, "sortText": "Z.isBlockDevice", "additionalTextEdits": null, "filterText": null, "insertText": "isBlockDevice", "kind": 12, "label": "isBlockDevice" }, { "detail": "Stats → Boolean", "documentation": { "kind": "markdown", "value": "\n*From: Node.FS.Stats*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isCharacterDevice", "Node.FS.Stats", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "isCharacterDevice" }, "sortText": "Z.isCharacterDevice", "additionalTextEdits": null, "filterText": null, "insertText": "isCharacterDevice", "kind": 12, "label": "isCharacterDevice" }, { "detail": "Stats → Boolean", "documentation": { "kind": "markdown", "value": "\n*From: Node.FS.Stats*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isFIFO", "Node.FS.Stats", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "isFIFO" }, "sortText": "Z.isFIFO", "additionalTextEdits": null, "filterText": null, "insertText": "isFIFO", "kind": 12, "label": "isFIFO" }, { "detail": "Stats → Boolean", "documentation": { "kind": "markdown", "value": "\n*From: Node.FS.Stats*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isSocket", "Node.FS.Stats", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "isSocket" }, "sortText": "Z.isSocket", "additionalTextEdits": null, "filterText": null, "insertText": "isSocket", "kind": 12, "label": "isSocket" }, { "detail": "Stats → Boolean", "documentation": { "kind": "markdown", "value": "\n*From: Node.FS.Stats*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isSymbolicLink", "Node.FS.Stats", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "isSymbolicLink" }, "sortText": "Z.isSymbolicLink", "additionalTextEdits": null, "filterText": null, "insertText": "isSymbolicLink", "kind": 12, "label": "isSymbolicLink" }, { "detail": "String → Boolean", "documentation": { "kind": "markdown", "value": "Determines whether path is an absolute path\n\n*From: Node.Path*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isAbsolute", "Node.Path", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "isAbsolute" }, "sortText": "Z.isAbsolute", "additionalTextEdits": null, "filterText": null, "insertText": "isAbsolute", "kind": 12, "label": "isAbsolute" }, { "detail": "∀ w. Readable w → Effect Boolean", "documentation": { "kind": "markdown", "value": "Check whether or not a stream is paused for reading.\n\n*From: Node.Stream*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isPaused", "Node.Stream", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "isPaused" }, "sortText": "Z.isPaused", "additionalTextEdits": null, "filterText": null, "insertText": "isPaused", "kind": 12, "label": "isPaused" }, { "detail": "∀ a m. Monad m ⇒ Int → Producer a m Unit → m (Maybe a)", "documentation": { "kind": "markdown", "value": "Index into a `Producer`\n\n*From: Pipes.Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "index", "Pipes.Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "index" }, "sortText": "Z.index", "additionalTextEdits": null, "filterText": null, "insertText": "index", "kind": 12, "label": "index" }, { "detail": "∀ t a. Category a ⇒ a t t", "documentation": { "kind": "markdown", "value": "\n*From: Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "identity", "Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "identity" }, "sortText": "Z.identity", "additionalTextEdits": null, "filterText": null, "insertText": "identity", "kind": 12, "label": "identity" }, { "detail": "∀ a m. Bind m ⇒ m Boolean → m a → m a → m a", "documentation": { "kind": "markdown", "value": "Execute a monadic action if a condition holds.\n\nFor example:\n\n```purescript\nmain = ifM ((< 0.5) <$> random)\n (trace \"Heads\")\n (trace \"Tails\")\n```\n\n*From: Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "ifM", "Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "ifM" }, "sortText": "Z.ifM", "additionalTextEdits": null, "filterText": null, "insertText": "ifM", "kind": 12, "label": "ifM" }, { "detail": "∀ r1 r2 l a. IsSymbol l ⇒ Lacks l r1 ⇒ Cons l a r1 r2 ⇒ SProxy l → a → Record r1 → Record r2", "documentation": { "kind": "markdown", "value": "Insert a new property for a label which is specified using a value-level proxy for\na type-level string.\n\nFor example:\n\n```purescript\ninsert (SProxy :: SProxy \"x\")\n :: forall r a. Lacks \"x\" r => a -> { | r } -> { x :: a | r }\n```\n\n*From: Record*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insert", "Record", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "insert" }, "sortText": "Z.insert", "additionalTextEdits": null, "filterText": null, "insertText": "insert", "kind": 12, "label": "insert" }, { "detail": "∀ l a r1 r2. Cons l a r1 r2 ⇒ Lacks l r1 ⇒ IsSymbol l ⇒ SProxy l → a → Builder (Record r1) (Record r2)", "documentation": { "kind": "markdown", "value": "Build by inserting a new field.\n\n*From: Record.Builder*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insert", "Record.Builder", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "insert" }, "sortText": "Z.insert", "additionalTextEdits": null, "filterText": null, "insertText": "insert", "kind": 12, "label": "insert" }, { "detail": "∀ m t arg g. FocusWarning ⇒ Monad m ⇒ Example t arg g ⇒ String → t → SpecT g arg m Unit", "documentation": { "kind": "markdown", "value": "Create a spec with a description and mark it as the only one to\nbe run. (useful for quickly narrowing down on a single test)\n\n*From: Test.Spec*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "itOnly", "Test.Spec", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "itOnly" }, "sortText": "Z.itOnly", "additionalTextEdits": null, "filterText": null, "insertText": "itOnly", "kind": 12, "label": "itOnly" }, { "detail": "∀ m t arg g. Monad m ⇒ Example t arg g ⇒ String → t → SpecT g arg m Unit", "documentation": { "kind": "markdown", "value": "Create a spec with a description.\n\n*From: Test.Spec*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "it", "Test.Spec", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "it" }, "sortText": "Z.it", "additionalTextEdits": null, "filterText": null, "insertText": "it", "kind": 12, "label": "it" }, { "detail": "Int → String", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Style*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "indent", "Test.Spec.Style", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "indent" }, "sortText": "Z.indent", "additionalTextEdits": null, "filterText": null, "insertText": "indent", "kind": 12, "label": "indent" }, { "detail": "∀ c m a. Tree c (Item m a) → Boolean", "documentation": { "kind": "markdown", "value": "Return true if all items in the tree are parallelizable\n\n*From: Test.Spec.Tree*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isAllParallelizable", "Test.Spec.Tree", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "isAllParallelizable" }, "sortText": "Z.isAllParallelizable", "additionalTextEdits": null, "filterText": null, "insertText": "isAllParallelizable", "kind": 12, "label": "isAllParallelizable" }, { "detail": "∀ a. Semiring a ⇒ a → a", "documentation": { "kind": "markdown", "value": "Adds one to input\n\n*From: Utils.Math*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "inc", "Utils.Math", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 2 }, "end": { "line": 2, "character": 1 } }, "newText": "inc" }, "sortText": "Z.inc", "additionalTextEdits": null, "filterText": null, "insertText": "inc", "kind": 12, "label": "inc" } ], "isIncomplete": false } [Trace - 4:16:23 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 20 }, "contentChanges": [ { "text": "module Some where\n\nimport \n" } ] } [Trace - 4:16:24 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 21 }, "contentChanges": [ { "text": "module Some where\n\nimport P\n" } ] } [Trace - 4:16:24 PM] Sending request 'textDocument/completion - (16)'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" }, "position": { "line": 2, "character": 8 }, "context": { "triggerKind": 1 } } [Trace - 4:16:24 PM] Received notification 'window/logMessage'. Params: { "type": 3, "message": "[Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead\n" } [Info - 4:16:24 PM] [Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead [Trace - 4:16:24 PM] Received response 'textDocument/completion - (16)' in 12ms. Result: { "items": [ { "textEdit": { "range": { "start": { "character": 7, "line": 2 }, "end": { "line": 2, "character": 8 } }, "newText": "Prim.Ordering" }, "additionalTextEdits": null, "command": null, "detail": null, "documentation": null, "filterText": null, "insertText": "Prim.Ordering", "kind": 9, "label": "Prim.Ordering", "sortText": null }, { "textEdit": { "range": { "start": { "character": 7, "line": 2 }, "end": { "line": 2, "character": 8 } }, "newText": "Pipes.ListT" }, "additionalTextEdits": null, "command": null, "detail": null, "documentation": null, "filterText": null, "insertText": "Pipes.ListT", "kind": 9, "label": "Pipes.ListT", "sortText": null }, { "textEdit": { "range": { "start": { "character": 7, "line": 2 }, "end": { "line": 2, "character": 8 } }, "newText": "Partial" }, "additionalTextEdits": null, "command": null, "detail": null, "documentation": null, "filterText": null, "insertText": "Partial", "kind": 9, "label": "Partial", "sortText": null }, { "textEdit": { "range": { "start": { "character": 7, "line": 2 }, "end": { "line": 2, "character": 8 } }, "newText": "Prim.Boolean" }, "additionalTextEdits": null, "command": null, "detail": null, "documentation": null, "filterText": null, "insertText": "Prim.Boolean", "kind": 9, "label": "Prim.Boolean", "sortText": null }, { "textEdit": { "range": { "start": { "character": 7, "line": 2 }, "end": { "line": 2, "character": 8 } }, "newText": "Problem1" }, "additionalTextEdits": null, "command": null, "detail": null, "documentation": null, "filterText": null, "insertText": "Problem1", "kind": 9, "label": "Problem1", "sortText": null }, { "textEdit": { "range": { "start": { "character": 7, "line": 2 }, "end": { "line": 2, "character": 8 } }, "newText": "Problem6" }, "additionalTextEdits": null, "command": null, "detail": null, "documentation": null, "filterText": null, "insertText": "Problem6", "kind": 9, "label": "Problem6", "sortText": null }, { "textEdit": { "range": { "start": { "character": 7, "line": 2 }, "end": { "line": 2, "character": 8 } }, "newText": "Problems" }, "additionalTextEdits": null, "command": null, "detail": null, "documentation": null, "filterText": null, "insertText": "Problems", "kind": 9, "label": "Problems", "sortText": null }, { "textEdit": { "range": { "start": { "character": 7, "line": 2 }, "end": { "line": 2, "character": 8 } }, "newText": "Problem8" }, "additionalTextEdits": null, "command": null, "detail": null, "documentation": null, "filterText": null, "insertText": "Problem8", "kind": 9, "label": "Problem8", "sortText": null }, { "textEdit": { "range": { "start": { "character": 7, "line": 2 }, "end": { "line": 2, "character": 8 } }, "newText": "Pipes.Prelude" }, "additionalTextEdits": null, "command": null, "detail": null, "documentation": null, "filterText": null, "insertText": "Pipes.Prelude", "kind": 9, "label": "Pipes.Prelude", "sortText": null }, { "textEdit": { "range": { "start": { "character": 7, "line": 2 }, "end": { "line": 2, "character": 8 } }, "newText": "Problem9" }, "additionalTextEdits": null, "command": null, "detail": null, "documentation": null, "filterText": null, "insertText": "Problem9", "kind": 9, "label": "Problem9", "sortText": null }, { "textEdit": { "range": { "start": { "character": 7, "line": 2 }, "end": { "line": 2, "character": 8 } }, "newText": "Prim.TypeError" }, "additionalTextEdits": null, "command": null, "detail": null, "documentation": null, "filterText": null, "insertText": "Prim.TypeError", "kind": 9, "label": "Prim.TypeError", "sortText": null }, { "textEdit": { "range": { "start": { "character": 7, "line": 2 }, "end": { "line": 2, "character": 8 } }, "newText": "Problem7" }, "additionalTextEdits": null, "command": null, "detail": null, "documentation": null, "filterText": null, "insertText": "Problem7", "kind": 9, "label": "Problem7", "sortText": null }, { "textEdit": { "range": { "start": { "character": 7, "line": 2 }, "end": { "line": 2, "character": 8 } }, "newText": "Pipes" }, "additionalTextEdits": null, "command": null, "detail": null, "documentation": null, "filterText": null, "insertText": "Pipes", "kind": 9, "label": "Pipes", "sortText": null }, { "textEdit": { "range": { "start": { "character": 7, "line": 2 }, "end": { "line": 2, "character": 8 } }, "newText": "Prim" }, "additionalTextEdits": null, "command": null, "detail": null, "documentation": null, "filterText": null, "insertText": "Prim", "kind": 9, "label": "Prim", "sortText": null }, { "textEdit": { "range": { "start": { "character": 7, "line": 2 }, "end": { "line": 2, "character": 8 } }, "newText": "Partial.Unsafe" }, "additionalTextEdits": null, "command": null, "detail": null, "documentation": null, "filterText": null, "insertText": "Partial.Unsafe", "kind": 9, "label": "Partial.Unsafe", "sortText": null }, { "textEdit": { "range": { "start": { "character": 7, "line": 2 }, "end": { "line": 2, "character": 8 } }, "newText": "Prim.RowList" }, "additionalTextEdits": null, "command": null, "detail": null, "documentation": null, "filterText": null, "insertText": "Prim.RowList", "kind": 9, "label": "Prim.RowList", "sortText": null }, { "textEdit": { "range": { "start": { "character": 7, "line": 2 }, "end": { "line": 2, "character": 8 } }, "newText": "Prim.Symbol" }, "additionalTextEdits": null, "command": null, "detail": null, "documentation": null, "filterText": null, "insertText": "Prim.Symbol", "kind": 9, "label": "Prim.Symbol", "sortText": null }, { "textEdit": { "range": { "start": { "character": 7, "line": 2 }, "end": { "line": 2, "character": 8 } }, "newText": "Pipes.Core" }, "additionalTextEdits": null, "command": null, "detail": null, "documentation": null, "filterText": null, "insertText": "Pipes.Core", "kind": 9, "label": "Pipes.Core", "sortText": null }, { "textEdit": { "range": { "start": { "character": 7, "line": 2 }, "end": { "line": 2, "character": 8 } }, "newText": "Prelude" }, "additionalTextEdits": null, "command": null, "detail": null, "documentation": null, "filterText": null, "insertText": "Prelude", "kind": 9, "label": "Prelude", "sortText": null }, { "textEdit": { "range": { "start": { "character": 7, "line": 2 }, "end": { "line": 2, "character": 8 } }, "newText": "Pipes.Internal" }, "additionalTextEdits": null, "command": null, "detail": null, "documentation": null, "filterText": null, "insertText": "Pipes.Internal", "kind": 9, "label": "Pipes.Internal", "sortText": null }, { "textEdit": { "range": { "start": { "character": 7, "line": 2 }, "end": { "line": 2, "character": 8 } }, "newText": "Problem5" }, "additionalTextEdits": null, "command": null, "detail": null, "documentation": null, "filterText": null, "insertText": "Problem5", "kind": 9, "label": "Problem5", "sortText": null }, { "textEdit": { "range": { "start": { "character": 7, "line": 2 }, "end": { "line": 2, "character": 8 } }, "newText": "Problem2" }, "additionalTextEdits": null, "command": null, "detail": null, "documentation": null, "filterText": null, "insertText": "Problem2", "kind": 9, "label": "Problem2", "sortText": null }, { "textEdit": { "range": { "start": { "character": 7, "line": 2 }, "end": { "line": 2, "character": 8 } }, "newText": "Problem10" }, "additionalTextEdits": null, "command": null, "detail": null, "documentation": null, "filterText": null, "insertText": "Problem10", "kind": 9, "label": "Problem10", "sortText": null }, { "textEdit": { "range": { "start": { "character": 7, "line": 2 }, "end": { "line": 2, "character": 8 } }, "newText": "PSCI.Support" }, "additionalTextEdits": null, "command": null, "detail": null, "documentation": null, "filterText": null, "insertText": "PSCI.Support", "kind": 9, "label": "PSCI.Support", "sortText": null }, { "textEdit": { "range": { "start": { "character": 7, "line": 2 }, "end": { "line": 2, "character": 8 } }, "newText": "Problem3" }, "additionalTextEdits": null, "command": null, "detail": null, "documentation": null, "filterText": null, "insertText": "Problem3", "kind": 9, "label": "Problem3", "sortText": null }, { "textEdit": { "range": { "start": { "character": 7, "line": 2 }, "end": { "line": 2, "character": 8 } }, "newText": "Prim.Row" }, "additionalTextEdits": null, "command": null, "detail": null, "documentation": null, "filterText": null, "insertText": "Prim.Row", "kind": 9, "label": "Prim.Row", "sortText": null }, { "textEdit": { "range": { "start": { "character": 7, "line": 2 }, "end": { "line": 2, "character": 8 } }, "newText": "Problem4" }, "additionalTextEdits": null, "command": null, "detail": null, "documentation": null, "filterText": null, "insertText": "Problem4", "kind": 9, "label": "Problem4", "sortText": null }, { "textEdit": { "range": { "start": { "character": 7, "line": 2 }, "end": { "line": 2, "character": 8 } }, "newText": "Problem11" }, "additionalTextEdits": null, "command": null, "detail": null, "documentation": null, "filterText": null, "insertText": "Problem11", "kind": 9, "label": "Problem11", "sortText": null } ], "isIncomplete": false } [Trace - 4:16:24 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 22 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n" } ] } [Trace - 4:16:25 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 23 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\n\n" } ] } [Trace - 4:16:25 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 24 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\ni\n" } ] } [Trace - 4:16:25 PM] Sending request 'textDocument/completion - (17)'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" }, "position": { "line": 4, "character": 1 }, "context": { "triggerKind": 1 } } [Trace - 4:16:25 PM] Received notification 'window/logMessage'. Params: { "type": 3, "message": "[Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead\n" } [Info - 4:16:25 PM] [Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead [Trace - 4:16:25 PM] Received response 'textDocument/completion - (17)' in 63ms. Result: { "items": [ { "detail": "NonEmptyList GraphicsParam", "documentation": { "kind": "markdown", "value": "\n*From: Ansi.Output*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "italic", "Ansi.Output", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "italic" }, "sortText": "Z.italic", "additionalTextEdits": null, "filterText": null, "insertText": "italic", "kind": 12, "label": "italic" }, { "detail": "NonEmptyList GraphicsParam", "documentation": { "kind": "markdown", "value": "\n*From: Ansi.Output*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "inverse", "Ansi.Output", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "inverse" }, "sortText": "Z.inverse", "additionalTextEdits": null, "filterText": null, "insertText": "inverse", "kind": 12, "label": "inverse" }, { "detail": "∀ a m. Bind m ⇒ m Boolean → m a → m a → m a", "documentation": { "kind": "markdown", "value": "Execute a monadic action if a condition holds.\n\nFor example:\n\n```purescript\nmain = ifM ((< 0.5) <$> random)\n (trace \"Heads\")\n (trace \"Tails\")\n```\n\n*From: Control.Bind*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "ifM", "Control.Bind", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "ifM" }, "sortText": "Z.ifM", "additionalTextEdits": null, "filterText": null, "insertText": "ifM", "kind": 12, "label": "ifM" }, { "detail": "∀ t a. Category a ⇒ a t t", "documentation": { "kind": "markdown", "value": "\n*From: Control.Category*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "identity", "Control.Category", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "identity" }, "sortText": "Z.identity", "additionalTextEdits": null, "filterText": null, "insertText": "identity", "kind": 12, "label": "identity" }, { "detail": "∀ a m. Bind m ⇒ m Boolean → m a → m a → m a", "documentation": { "kind": "markdown", "value": "Execute a monadic action if a condition holds.\n\nFor example:\n\n```purescript\nmain = ifM ((< 0.5) <$> random)\n (trace \"Heads\")\n (trace \"Tails\")\n```\n\n*From: Control.Monad*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "ifM", "Control.Monad", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "ifM" }, "sortText": "Z.ifM", "additionalTextEdits": null, "filterText": null, "insertText": "ifM", "kind": 12, "label": "ifM" }, { "detail": "∀ f a. Monad f ⇒ (a → a) → a → ListT f a", "documentation": { "kind": "markdown", "value": "Generate an infinite list by iterating a function.\n\n*From: Control.Monad.List.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "iterate", "Control.Monad.List.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "iterate" }, "sortText": "Z.iterate", "additionalTextEdits": null, "filterText": null, "insertText": "iterate", "kind": 12, "label": "iterate" }, { "detail": "∀ a m. Bind m ⇒ m Boolean → m a → m a → m a", "documentation": { "kind": "markdown", "value": "Execute a monadic action if a condition holds.\n\nFor example:\n\n```purescript\nmain = ifM ((< 0.5) <$> random)\n (trace \"Heads\")\n (trace \"Tails\")\n```\n\n*From: Control.MonadPlus*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "ifM", "Control.MonadPlus", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "ifM" }, "sortText": "Z.ifM", "additionalTextEdits": null, "filterText": null, "insertText": "ifM", "kind": 12, "label": "ifM" }, { "detail": "∀ a m. Bind m ⇒ m Boolean → m a → m a → m a", "documentation": { "kind": "markdown", "value": "Execute a monadic action if a condition holds.\n\nFor example:\n\n```purescript\nmain = ifM ((< 0.5) <$> random)\n (trace \"Heads\")\n (trace \"Tails\")\n```\n\n*From: Control.MonadZero*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "ifM", "Control.MonadZero", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "ifM" }, "sortText": "Z.ifM", "additionalTextEdits": null, "filterText": null, "insertText": "ifM", "kind": 12, "label": "ifM" }, { "detail": "∀ a. Ord a ⇒ a → Array a → Array a", "documentation": { "kind": "markdown", "value": "Insert an element into a sorted array.\n\n```purescript\ninsert 10 [1, 2, 20, 21] = [1, 2, 10, 20, 21]\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insert", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "insert" }, "sortText": "Z.insert", "additionalTextEdits": null, "filterText": null, "insertText": "insert", "kind": 12, "label": "insert" }, { "detail": "∀ a. (a → a → Ordering) → a → Array a → Array a", "documentation": { "kind": "markdown", "value": "Insert an element into a sorted array, using the specified function to\ndetermine the ordering of elements.\n\n```purescript\ninvertCompare a b = invert $ compare a b\n\ninsertBy invertCompare 10 [21, 20, 2, 1] = [21, 20, 10, 2, 1]\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insertBy", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "insertBy" }, "sortText": "Z.insertBy", "additionalTextEdits": null, "filterText": null, "insertText": "insertBy", "kind": 12, "label": "insertBy" }, { "detail": "∀ a. Array a → Maybe (Array a)", "documentation": { "kind": "markdown", "value": "Get all but the last element of an array, creating a new array, or\n`Nothing` if the array is empty.\n\n```purescript\ninit [1, 2, 3, 4] = Just [1, 2, 3]\ninit [] = Nothing\n```\n\nRunning time: `O(n)` where `n` is the length of the array\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "init", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "init" }, "sortText": "Z.init", "additionalTextEdits": null, "filterText": null, "insertText": "init", "kind": 12, "label": "init" }, { "detail": "∀ a. Array a → Int → Maybe a", "documentation": { "kind": "markdown", "value": "This function provides a safe way to read a value at a particular index\nfrom an array.\n\n```purescript\nsentence = [\"Hello\", \"World\", \"!\"]\n\nindex sentence 0 = Just \"Hello\"\nindex sentence 7 = Nothing\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "index", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "index" }, "sortText": "Z.index", "additionalTextEdits": null, "filterText": null, "insertText": "index", "kind": 12, "label": "index" }, { "detail": "∀ a. Int → a → Array a → Maybe (Array a)", "documentation": { "kind": "markdown", "value": "Insert an element at the specified index, creating a new array, or\nreturning `Nothing` if the index is out of bounds.\n\n```purescript\ninsertAt 2 \"!\" [\"Hello\", \"World\"] = Just [\"Hello\", \"World\", \"!\"]\ninsertAt 10 \"!\" [\"Hello\"] = Nothing\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insertAt", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "insertAt" }, "sortText": "Z.insertAt", "additionalTextEdits": null, "filterText": null, "insertText": "insertAt", "kind": 12, "label": "insertAt" }, { "detail": "∀ a. Eq a ⇒ Array a → Array a → Array a", "documentation": { "kind": "markdown", "value": "Calculate the intersection of two arrays, creating a new array. Note that\nduplicates in the first array are preserved while duplicates in the second\narray are removed.\n\n```purescript\nintersect [1, 1, 2] [2, 2, 1] = [1, 1, 2]\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersect", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "intersect" }, "sortText": "Z.intersect", "additionalTextEdits": null, "filterText": null, "insertText": "intersect", "kind": 12, "label": "intersect" }, { "detail": "∀ a. (a → a → Boolean) → Array a → Array a → Array a", "documentation": { "kind": "markdown", "value": "Calculate the intersection of two arrays, using the specified equivalence\nrelation to compare elements, creating a new array. Note that duplicates\nin the first array are preserved while duplicates in the second array are\nremoved.\n\n```purescript\nmod3eq a b = a `mod` 3 == b `mod` 3\nintersectBy mod3eq [1, 2, 3] [4, 6, 7] = [1, 3]\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersectBy", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "intersectBy" }, "sortText": "Z.intersectBy", "additionalTextEdits": null, "filterText": null, "insertText": "intersectBy", "kind": 12, "label": "intersectBy" }, { "detail": "∀ f m. Foldable f ⇒ Monoid m ⇒ m → f m → m", "documentation": { "kind": "markdown", "value": "Fold a data structure, accumulating values in some `Monoid`,\ncombining adjacent elements using the specified separator.\n\nFor example:\n\n```purescript\n> intercalate \", \" [\"Lorem\", \"ipsum\", \"dolor\"]\n= \"Lorem, ipsum, dolor\"\n\n> intercalate \"*\" [\"a\", \"b\", \"c\"]\n= \"a*b*c\"\n\n> intercalate [1] [[2, 3], [4, 5], [6, 7]]\n= [2, 3, 1, 4, 5, 1, 6, 7]\n```\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intercalate", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "intercalate" }, "sortText": "Z.intercalate", "additionalTextEdits": null, "filterText": null, "insertText": "intercalate", "kind": 12, "label": "intercalate" }, { "detail": "∀ a. Ord a ⇒ a → NonEmptyArray a → NonEmptyArray a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insert", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "insert" }, "sortText": "Z.insert", "additionalTextEdits": null, "filterText": null, "insertText": "insert", "kind": 12, "label": "insert" }, { "detail": "∀ a. (a → a → Ordering) → a → NonEmptyArray a → NonEmptyArray a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insertBy", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "insertBy" }, "sortText": "Z.insertBy", "additionalTextEdits": null, "filterText": null, "insertText": "insertBy", "kind": 12, "label": "insertBy" }, { "detail": "∀ a. NonEmptyArray a → Array a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "init", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "init" }, "sortText": "Z.init", "additionalTextEdits": null, "filterText": null, "insertText": "init", "kind": 12, "label": "init" }, { "detail": "∀ a. NonEmptyArray a → Int → Maybe a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "index", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "index" }, "sortText": "Z.index", "additionalTextEdits": null, "filterText": null, "insertText": "index", "kind": 12, "label": "index" }, { "detail": "∀ a. Int → a → NonEmptyArray a → Maybe (NonEmptyArray a)", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insertAt", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "insertAt" }, "sortText": "Z.insertAt", "additionalTextEdits": null, "filterText": null, "insertText": "insertAt", "kind": 12, "label": "insertAt" }, { "detail": "∀ a. Eq a ⇒ NonEmptyArray a → NonEmptyArray a → Array a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersect", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "intersect" }, "sortText": "Z.intersect", "additionalTextEdits": null, "filterText": null, "insertText": "intersect", "kind": 12, "label": "intersect" }, { "detail": "∀ a. Eq a ⇒ NonEmptyArray a → Array a → Array a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersect'", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "intersect'" }, "sortText": "Z.intersect'", "additionalTextEdits": null, "filterText": null, "insertText": "intersect'", "kind": 12, "label": "intersect'" }, { "detail": "∀ a. (a → a → Boolean) → NonEmptyArray a → NonEmptyArray a → Array a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersectBy", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "intersectBy" }, "sortText": "Z.intersectBy", "additionalTextEdits": null, "filterText": null, "insertText": "intersectBy", "kind": 12, "label": "intersectBy" }, { "detail": "∀ a. (a → a → Boolean) → NonEmptyArray a → Array a → Array a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersectBy'", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "intersectBy'" }, "sortText": "Z.intersectBy'", "additionalTextEdits": null, "filterText": null, "insertText": "intersectBy'", "kind": 12, "label": "intersectBy'" }, { "detail": "∀ a. Partial ⇒ Array a → Array a", "documentation": { "kind": "markdown", "value": "Get all but the last element of a non-empty array.\n\nRunning time: `O(n)`, where `n` is the length of the array.\n\n*From: Data.Array.Partial*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "init", "Data.Array.Partial", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "init" }, "sortText": "Z.init", "additionalTextEdits": null, "filterText": null, "insertText": "init", "kind": 12, "label": "init" }, { "detail": "∀ r a. (Int → Maybe a) → ST r (Iterator r a)", "documentation": { "kind": "markdown", "value": "Make an Iterator given an indexing function into an array (or anything\nelse). If `xs :: Array a`, the standard way to create an iterator over\n`xs` is to use `iterator (xs !! _)`, where `(!!)` comes from `Data.Array`.\n\n*From: Data.Array.ST.Iterator*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "iterator", "Data.Array.ST.Iterator", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "iterator" }, "sortText": "Z.iterator", "additionalTextEdits": null, "filterText": null, "insertText": "iterator", "kind": 12, "label": "iterator" }, { "detail": "∀ r a. Iterator r a → (a → ST r Unit) → ST r Unit", "documentation": { "kind": "markdown", "value": "Perform an action once for each item left in an iterator. If the action\nitself also advances the same iterator, `iterate` will miss those items\nout.\n\n*From: Data.Array.ST.Iterator*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "iterate", "Data.Array.ST.Iterator", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "iterate" }, "sortText": "Z.iterate", "additionalTextEdits": null, "filterText": null, "insertText": "iterate", "kind": 12, "label": "iterate" }, { "detail": "∀ a. HeytingAlgebra a ⇒ a → a → a", "documentation": { "kind": "markdown", "value": "\n*From: Data.BooleanAlgebra*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "implies", "Data.BooleanAlgebra", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "implies" }, "sortText": "Z.implies", "additionalTextEdits": null, "filterText": null, "insertText": "implies", "kind": 12, "label": "implies" }, { "detail": "Year → Boolean", "documentation": { "kind": "markdown", "value": "Checks whether a year is a leap year according to the proleptic Gregorian\ncalendar.\n\n*From: Data.Date*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isLeapYear", "Data.Date", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "isLeapYear" }, "sortText": "Z.isLeapYear", "additionalTextEdits": null, "filterText": null, "insertText": "isLeapYear", "kind": 12, "label": "isLeapYear" }, { "detail": "Milliseconds → Maybe Instant", "documentation": { "kind": "markdown", "value": "Attempts to create an `Instant` from a `Milliseconds` duration. The\nminimum acceptable value equates to the `bottom` `DateTime` and the maximum\nacceptable value equates to the `top` `DateTime`.\n\n*From: Data.DateTime.Instant*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "instant", "Data.DateTime.Instant", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "instant" }, "sortText": "Z.instant", "additionalTextEdits": null, "filterText": null, "insertText": "instant", "kind": 12, "label": "instant" }, { "detail": "∀ a b. Either a b → Boolean", "documentation": { "kind": "markdown", "value": "Returns `true` when the `Either` value was constructed with `Left`.\n\n*From: Data.Either*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isLeft", "Data.Either", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "isLeft" }, "sortText": "Z.isLeft", "additionalTextEdits": null, "filterText": null, "insertText": "isLeft", "kind": 12, "label": "isLeft" }, { "detail": "∀ a b. Either a b → Boolean", "documentation": { "kind": "markdown", "value": "Returns `true` when the `Either` value was constructed with `Right`.\n\n*From: Data.Either*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isRight", "Data.Either", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "isRight" }, "sortText": "Z.isRight", "additionalTextEdits": null, "filterText": null, "insertText": "isRight", "kind": 12, "label": "isRight" }, { "detail": "∀ b a. Inject a b ⇒ a → b", "documentation": { "kind": "markdown", "value": "\n*From: Data.Either.Inject*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "inj", "Data.Either.Inject", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "inj" }, "sortText": "Z.inj", "additionalTextEdits": null, "filterText": null, "insertText": "inj", "kind": 12, "label": "inj" }, { "detail": "∀ a z. a → a \\/ z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Either.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in1", "Data.Either.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "in1" }, "sortText": "Z.in1", "additionalTextEdits": null, "filterText": null, "insertText": "in1", "kind": 12, "label": "in1" }, { "detail": "∀ a b z. b → a \\/ b \\/ z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Either.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in2", "Data.Either.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "in2" }, "sortText": "Z.in2", "additionalTextEdits": null, "filterText": null, "insertText": "in2", "kind": 12, "label": "in2" }, { "detail": "∀ a b c z. c → a \\/ b \\/ c \\/ z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Either.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in3", "Data.Either.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "in3" }, "sortText": "Z.in3", "additionalTextEdits": null, "filterText": null, "insertText": "in3", "kind": 12, "label": "in3" }, { "detail": "∀ a b c d z. d → a \\/ b \\/ c \\/ d \\/ z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Either.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in4", "Data.Either.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "in4" }, "sortText": "Z.in4", "additionalTextEdits": null, "filterText": null, "insertText": "in4", "kind": 12, "label": "in4" }, { "detail": "∀ a b c d e z. e → a \\/ b \\/ c \\/ d \\/ e \\/ z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Either.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in5", "Data.Either.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "in5" }, "sortText": "Z.in5", "additionalTextEdits": null, "filterText": null, "insertText": "in5", "kind": 12, "label": "in5" }, { "detail": "∀ a b c d e f z. f → a \\/ b \\/ c \\/ d \\/ e \\/ f \\/ z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Either.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in6", "Data.Either.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "in6" }, "sortText": "Z.in6", "additionalTextEdits": null, "filterText": null, "insertText": "in6", "kind": 12, "label": "in6" }, { "detail": "∀ a b c d e f g z. g → a \\/ b \\/ c \\/ d \\/ e \\/ f \\/ g \\/ z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Either.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in7", "Data.Either.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "in7" }, "sortText": "Z.in7", "additionalTextEdits": null, "filterText": null, "insertText": "in7", "kind": 12, "label": "in7" }, { "detail": "∀ a b c d e f g h z. h → a \\/ b \\/ c \\/ d \\/ e \\/ f \\/ g \\/ h \\/ z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Either.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in8", "Data.Either.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "in8" }, "sortText": "Z.in8", "additionalTextEdits": null, "filterText": null, "insertText": "in8", "kind": 12, "label": "in8" }, { "detail": "∀ a b c d e f g h i z. i → a \\/ b \\/ c \\/ d \\/ e \\/ f \\/ g \\/ h \\/ i \\/ z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Either.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in9", "Data.Either.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "in9" }, "sortText": "Z.in9", "additionalTextEdits": null, "filterText": null, "insertText": "in9", "kind": 12, "label": "in9" }, { "detail": "∀ a b c d e f g h i j z. j → a \\/ b \\/ c \\/ d \\/ e \\/ f \\/ g \\/ h \\/ i \\/ j \\/ z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Either.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in10", "Data.Either.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "in10" }, "sortText": "Z.in10", "additionalTextEdits": null, "filterText": null, "insertText": "in10", "kind": 12, "label": "in10" }, { "detail": "∀ f m. Foldable f ⇒ Monoid m ⇒ m → f m → m", "documentation": { "kind": "markdown", "value": "Fold a data structure, accumulating values in some `Monoid`,\ncombining adjacent elements using the specified separator.\n\nFor example:\n\n```purescript\n> intercalate \", \" [\"Lorem\", \"ipsum\", \"dolor\"]\n= \"Lorem, ipsum, dolor\"\n\n> intercalate \"*\" [\"a\", \"b\", \"c\"]\n= \"a*b*c\"\n\n> intercalate [1] [[2, 3], [4, 5], [6, 7]]\n= [2, 3, 1, 4, 5, 1, 6, 7]\n```\n\n*From: Data.Foldable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intercalate", "Data.Foldable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "intercalate" }, "sortText": "Z.intercalate", "additionalTextEdits": null, "filterText": null, "insertText": "intercalate", "kind": 12, "label": "intercalate" }, { "detail": "∀ a f. Foldable f ⇒ Int → f a → Maybe a", "documentation": { "kind": "markdown", "value": "Try to get nth element from the left in a data structure\n\n*From: Data.Foldable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "indexl", "Data.Foldable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "indexl" }, "sortText": "Z.indexl", "additionalTextEdits": null, "filterText": null, "insertText": "indexl", "kind": 12, "label": "indexl" }, { "detail": "∀ a f. Foldable f ⇒ Int → f a → Maybe a", "documentation": { "kind": "markdown", "value": "Try to get nth element from the right in a data structure\n\n*From: Data.Foldable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "indexr", "Data.Foldable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "indexr" }, "sortText": "Z.indexr", "additionalTextEdits": null, "filterText": null, "insertText": "indexr", "kind": 12, "label": "indexr" }, { "detail": "∀ t a. Category a ⇒ a t t", "documentation": { "kind": "markdown", "value": "\n*From: Data.Function*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "identity", "Data.Function", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "identity" }, "sortText": "Z.identity", "additionalTextEdits": null, "filterText": null, "insertText": "identity", "kind": 12, "label": "identity" }, { "detail": "∀ f a b. Contravariant f ⇒ (a → b) → (b → a) → f a → f b", "documentation": { "kind": "markdown", "value": "As all `Contravariant` functors are also trivially `Invariant`, this function can be used as the `imap` implementation for any types that have an existing `Contravariant` instance.\n\n*From: Data.Functor.Contravariant*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "imapC", "Data.Functor.Contravariant", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "imapC" }, "sortText": "Z.imapC", "additionalTextEdits": null, "filterText": null, "insertText": "imapC", "kind": 12, "label": "imapC" }, { "detail": "∀ a g f. Inject f g ⇒ f a → g a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Coproduct.Inject*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "inj", "Data.Functor.Coproduct.Inject", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "inj" }, "sortText": "Z.inj", "additionalTextEdits": null, "filterText": null, "insertText": "inj", "kind": 12, "label": "inj" }, { "detail": "∀ a z. a ~> C2 a z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Coproduct.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in1", "Data.Functor.Coproduct.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "in1" }, "sortText": "Z.in1", "additionalTextEdits": null, "filterText": null, "insertText": "in1", "kind": 12, "label": "in1" }, { "detail": "∀ a b z. b ~> C3 a b z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Coproduct.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in2", "Data.Functor.Coproduct.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "in2" }, "sortText": "Z.in2", "additionalTextEdits": null, "filterText": null, "insertText": "in2", "kind": 12, "label": "in2" }, { "detail": "∀ a b c z. c ~> C4 a b c z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Coproduct.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in3", "Data.Functor.Coproduct.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "in3" }, "sortText": "Z.in3", "additionalTextEdits": null, "filterText": null, "insertText": "in3", "kind": 12, "label": "in3" }, { "detail": "∀ a b c d z. d ~> C5 a b c d z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Coproduct.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in4", "Data.Functor.Coproduct.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "in4" }, "sortText": "Z.in4", "additionalTextEdits": null, "filterText": null, "insertText": "in4", "kind": 12, "label": "in4" }, { "detail": "∀ a b c d e z. e ~> C6 a b c d e z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Coproduct.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in5", "Data.Functor.Coproduct.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "in5" }, "sortText": "Z.in5", "additionalTextEdits": null, "filterText": null, "insertText": "in5", "kind": 12, "label": "in5" }, { "detail": "∀ a b c d e f z. f ~> C7 a b c d e f z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Coproduct.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in6", "Data.Functor.Coproduct.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "in6" }, "sortText": "Z.in6", "additionalTextEdits": null, "filterText": null, "insertText": "in6", "kind": 12, "label": "in6" }, { "detail": "∀ a b c d e f g z. g ~> C8 a b c d e f g z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Coproduct.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in7", "Data.Functor.Coproduct.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "in7" }, "sortText": "Z.in7", "additionalTextEdits": null, "filterText": null, "insertText": "in7", "kind": 12, "label": "in7" }, { "detail": "∀ a b c d e f g h z. h ~> C9 a b c d e f g h z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Coproduct.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in8", "Data.Functor.Coproduct.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "in8" }, "sortText": "Z.in8", "additionalTextEdits": null, "filterText": null, "insertText": "in8", "kind": 12, "label": "in8" }, { "detail": "∀ a b c d e f g h i z. i ~> C10 a b c d e f g h i z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Coproduct.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in9", "Data.Functor.Coproduct.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "in9" }, "sortText": "Z.in9", "additionalTextEdits": null, "filterText": null, "insertText": "in9", "kind": 12, "label": "in9" }, { "detail": "∀ a b c d e f g h i j z. j ~> C11 a b c d e f g h i j z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Coproduct.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in10", "Data.Functor.Coproduct.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "in10" }, "sortText": "Z.in10", "additionalTextEdits": null, "filterText": null, "insertText": "in10", "kind": 12, "label": "in10" }, { "detail": "∀ a b f. Invariant f ⇒ (a → b) → (b → a) → f a → f b", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Invariant*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "imap", "Data.Functor.Invariant", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "imap" }, "sortText": "Z.imap", "additionalTextEdits": null, "filterText": null, "insertText": "imap", "kind": 12, "label": "imap" }, { "detail": "∀ f a b. Functor f ⇒ (a → b) → (b → a) → f a → f b", "documentation": { "kind": "markdown", "value": "As all `Functor`s are also trivially `Invariant`, this function can be\nused as the `imap` implementation for any types that has an existing\n`Functor` instance.\n\n*From: Data.Functor.Invariant*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "imapF", "Data.Functor.Invariant", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "imapF" }, "sortText": "Z.imapF", "additionalTextEdits": null, "filterText": null, "insertText": "imapF", "kind": 12, "label": "imapF" }, { "detail": "∀ a. HeytingAlgebra a ⇒ a → a → a", "documentation": { "kind": "markdown", "value": "\n*From: Data.HeytingAlgebra*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "implies", "Data.HeytingAlgebra", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "implies" }, "sortText": "Z.implies", "additionalTextEdits": null, "filterText": null, "insertText": "implies", "kind": 12, "label": "implies" }, { "detail": "∀ subrow row rowlist. HeytingAlgebraRecord rowlist row subrow ⇒ RLProxy rowlist → Record row → Record row → Record subrow", "documentation": { "kind": "markdown", "value": "\n*From: Data.HeytingAlgebra*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "impliesRecord", "Data.HeytingAlgebra", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "impliesRecord" }, "sortText": "Z.impliesRecord", "additionalTextEdits": null, "filterText": null, "insertText": "impliesRecord", "kind": 12, "label": "impliesRecord" }, { "detail": "JSDate → Boolean", "documentation": { "kind": "markdown", "value": "Checks whether a date value is valid. When a date is invalid, the majority\nof the functions return `NaN`, `\"Invalid Date\"`, or throw an exception.\n\n*From: Data.JSDate*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isValid", "Data.JSDate", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "isValid" }, "sortText": "Z.isValid", "additionalTextEdits": null, "filterText": null, "insertText": "isValid", "kind": 12, "label": "isValid" }, { "detail": "∀ a. Ord a ⇒ a → List a → List a", "documentation": { "kind": "markdown", "value": "Insert an element into a sorted list.\n\nRunning time: `O(n)`\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insert", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "insert" }, "sortText": "Z.insert", "additionalTextEdits": null, "filterText": null, "insertText": "insert", "kind": 12, "label": "insert" }, { "detail": "∀ a. (a → a → Ordering) → a → List a → List a", "documentation": { "kind": "markdown", "value": "Insert an element into a sorted list, using the specified function to\ndetermine the ordering of elements.\n\nRunning time: `O(n)`\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insertBy", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "insertBy" }, "sortText": "Z.insertBy", "additionalTextEdits": null, "filterText": null, "insertText": "insertBy", "kind": 12, "label": "insertBy" }, { "detail": "∀ a. List a → Maybe (List a)", "documentation": { "kind": "markdown", "value": "Get all but the last element of a list, or `Nothing` if the list is empty.\n\nRunning time: `O(n)`\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "init", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "init" }, "sortText": "Z.init", "additionalTextEdits": null, "filterText": null, "insertText": "init", "kind": 12, "label": "init" }, { "detail": "∀ a. List a → Int → Maybe a", "documentation": { "kind": "markdown", "value": "Get the element at the specified index, or `Nothing` if the index is out-of-bounds.\n\nRunning time: `O(n)` where `n` is the required index.\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "index", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "index" }, "sortText": "Z.index", "additionalTextEdits": null, "filterText": null, "insertText": "index", "kind": 12, "label": "index" }, { "detail": "∀ a. Int → a → List a → Maybe (List a)", "documentation": { "kind": "markdown", "value": "Insert an element into a list at the specified index, returning a new\nlist or `Nothing` if the index is out-of-bounds.\n\nRunning time: `O(n)`\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insertAt", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "insertAt" }, "sortText": "Z.insertAt", "additionalTextEdits": null, "filterText": null, "insertText": "insertAt", "kind": 12, "label": "insertAt" }, { "detail": "∀ a. Eq a ⇒ List a → List a → List a", "documentation": { "kind": "markdown", "value": "Calculate the intersection of two lists.\n\nRunning time: `O(n^2)`\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersect", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "intersect" }, "sortText": "Z.intersect", "additionalTextEdits": null, "filterText": null, "insertText": "intersect", "kind": 12, "label": "intersect" }, { "detail": "∀ a. (a → a → Boolean) → List a → List a → List a", "documentation": { "kind": "markdown", "value": "Calculate the intersection of two lists, using the specified\nfunction to determine equality of elements.\n\nRunning time: `O(n^2)`\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersectBy", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "intersectBy" }, "sortText": "Z.intersectBy", "additionalTextEdits": null, "filterText": null, "insertText": "intersectBy", "kind": 12, "label": "intersectBy" }, { "detail": "∀ f m. Foldable f ⇒ Monoid m ⇒ m → f m → m", "documentation": { "kind": "markdown", "value": "Fold a data structure, accumulating values in some `Monoid`,\ncombining adjacent elements using the specified separator.\n\nFor example:\n\n```purescript\n> intercalate \", \" [\"Lorem\", \"ipsum\", \"dolor\"]\n= \"Lorem, ipsum, dolor\"\n\n> intercalate \"*\" [\"a\", \"b\", \"c\"]\n= \"a*b*c\"\n\n> intercalate [1] [[2, 3], [4, 5], [6, 7]]\n= [2, 3, 1, 4, 5, 1, 6, 7]\n```\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intercalate", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "intercalate" }, "sortText": "Z.intercalate", "additionalTextEdits": null, "filterText": null, "insertText": "intercalate", "kind": 12, "label": "intercalate" }, { "detail": "∀ a. (a → a) → a → List a", "documentation": { "kind": "markdown", "value": "Create a list by iterating a function\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "iterate", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "iterate" }, "sortText": "Z.iterate", "additionalTextEdits": null, "filterText": null, "insertText": "iterate", "kind": 12, "label": "iterate" }, { "detail": "∀ a. Ord a ⇒ a → List a → List a", "documentation": { "kind": "markdown", "value": "Insert an element into a sorted list.\n\nRunning time: `O(n)`\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insert", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "insert" }, "sortText": "Z.insert", "additionalTextEdits": null, "filterText": null, "insertText": "insert", "kind": 12, "label": "insert" }, { "detail": "∀ a. (a → a → Ordering) → a → List a → List a", "documentation": { "kind": "markdown", "value": "Insert an element into a sorted list, using the specified function to determine the ordering\nof elements.\n\nRunning time: `O(n)`\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insertBy", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "insertBy" }, "sortText": "Z.insertBy", "additionalTextEdits": null, "filterText": null, "insertText": "insertBy", "kind": 12, "label": "insertBy" }, { "detail": "∀ a. List a → Maybe (List a)", "documentation": { "kind": "markdown", "value": "Get all but the last element of a list, or `Nothing` if the list is empty.\n\nRunning time: `O(n)`\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "init", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "init" }, "sortText": "Z.init", "additionalTextEdits": null, "filterText": null, "insertText": "init", "kind": 12, "label": "init" }, { "detail": "∀ a. List a → Int → Maybe a", "documentation": { "kind": "markdown", "value": "Get the element at the specified index, or `Nothing` if the index is out-of-bounds.\n\nRunning time: `O(n)` where `n` is the required index.\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "index", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "index" }, "sortText": "Z.index", "additionalTextEdits": null, "filterText": null, "insertText": "index", "kind": 12, "label": "index" }, { "detail": "∀ a. Int → a → List a → List a", "documentation": { "kind": "markdown", "value": "Insert an element into a list at the specified index, returning a new\nlist or `Nothing` if the index is out-of-bounds.\n\nThis function differs from the strict equivalent in that out-of-bounds arguments\nresult in the element being appended at the _end_ of the list.\n\nRunning time: `O(n)`\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insertAt", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "insertAt" }, "sortText": "Z.insertAt", "additionalTextEdits": null, "filterText": null, "insertText": "insertAt", "kind": 12, "label": "insertAt" }, { "detail": "∀ a. Eq a ⇒ List a → List a → List a", "documentation": { "kind": "markdown", "value": "Calculate the intersection of two lists.\n\nRunning time: `O(n^2)`\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersect", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "intersect" }, "sortText": "Z.intersect", "additionalTextEdits": null, "filterText": null, "insertText": "intersect", "kind": 12, "label": "intersect" }, { "detail": "∀ a. (a → a → Boolean) → List a → List a → List a", "documentation": { "kind": "markdown", "value": "Calculate the intersection of two lists, using the specified\nfunction to determine equality of elements.\n\nRunning time: `O(n^2)`\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersectBy", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "intersectBy" }, "sortText": "Z.intersectBy", "additionalTextEdits": null, "filterText": null, "insertText": "intersectBy", "kind": 12, "label": "intersectBy" }, { "detail": "∀ f m. Foldable f ⇒ Monoid m ⇒ m → f m → m", "documentation": { "kind": "markdown", "value": "Fold a data structure, accumulating values in some `Monoid`,\ncombining adjacent elements using the specified separator.\n\nFor example:\n\n```purescript\n> intercalate \", \" [\"Lorem\", \"ipsum\", \"dolor\"]\n= \"Lorem, ipsum, dolor\"\n\n> intercalate \"*\" [\"a\", \"b\", \"c\"]\n= \"a*b*c\"\n\n> intercalate [1] [[2, 3], [4, 5], [6, 7]]\n= [2, 3, 1, 4, 5, 1, 6, 7]\n```\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intercalate", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "intercalate" }, "sortText": "Z.intercalate", "additionalTextEdits": null, "filterText": null, "insertText": "intercalate", "kind": 12, "label": "intercalate" }, { "detail": "∀ a. (a → a) → a → NonEmptyList a", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.Lazy.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "iterate", "Data.List.Lazy.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "iterate" }, "sortText": "Z.iterate", "additionalTextEdits": null, "filterText": null, "insertText": "iterate", "kind": 12, "label": "iterate" }, { "detail": "NonEmptyList ~> List", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.Lazy.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "init", "Data.List.Lazy.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "init" }, "sortText": "Z.init", "additionalTextEdits": null, "filterText": null, "insertText": "init", "kind": 12, "label": "init" }, { "detail": "NonEmptyList ~> List", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "init", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "init" }, "sortText": "Z.init", "additionalTextEdits": null, "filterText": null, "insertText": "init", "kind": 12, "label": "init" }, { "detail": "∀ a. NonEmptyList a → Int → Maybe a", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "index", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "index" }, "sortText": "Z.index", "additionalTextEdits": null, "filterText": null, "insertText": "index", "kind": 12, "label": "index" }, { "detail": "∀ a. Int → a → NonEmptyList a → Maybe (NonEmptyList a)", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insertAt", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "insertAt" }, "sortText": "Z.insertAt", "additionalTextEdits": null, "filterText": null, "insertText": "insertAt", "kind": 12, "label": "insertAt" }, { "detail": "∀ a. Eq a ⇒ NonEmptyList a → NonEmptyList a → NonEmptyList a", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersect", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "intersect" }, "sortText": "Z.intersect", "additionalTextEdits": null, "filterText": null, "insertText": "intersect", "kind": 12, "label": "intersect" }, { "detail": "∀ a. (a → a → Boolean) → NonEmptyList a → NonEmptyList a → NonEmptyList a", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersectBy", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "intersectBy" }, "sortText": "Z.intersectBy", "additionalTextEdits": null, "filterText": null, "insertText": "intersectBy", "kind": 12, "label": "intersectBy" }, { "detail": "∀ f m. Foldable f ⇒ Monoid m ⇒ m → f m → m", "documentation": { "kind": "markdown", "value": "Fold a data structure, accumulating values in some `Monoid`,\ncombining adjacent elements using the specified separator.\n\nFor example:\n\n```purescript\n> intercalate \", \" [\"Lorem\", \"ipsum\", \"dolor\"]\n= \"Lorem, ipsum, dolor\"\n\n> intercalate \"*\" [\"a\", \"b\", \"c\"]\n= \"a*b*c\"\n\n> intercalate [1] [[2, 3], [4, 5], [6, 7]]\n= [2, 3, 1, 4, 5, 1, 6, 7]\n```\n\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intercalate", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "intercalate" }, "sortText": "Z.intercalate", "additionalTextEdits": null, "filterText": null, "insertText": "intercalate", "kind": 12, "label": "intercalate" }, { "detail": "∀ a. Partial ⇒ List a → List a", "documentation": { "kind": "markdown", "value": "Get all but the last element of a non-empty list.\n\nRunning time: `O(n)`\n\n*From: Data.List.Partial*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "init", "Data.List.Partial", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "init" }, "sortText": "Z.init", "additionalTextEdits": null, "filterText": null, "insertText": "init", "kind": 12, "label": "init" }, { "detail": "∀ k v. Ord k ⇒ k → v → Map k v → Map k v", "documentation": { "kind": "markdown", "value": "Insert or replace a key/value pair in a map\n\n*From: Data.Map*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insert", "Data.Map", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "insert" }, "sortText": "Z.insert", "additionalTextEdits": null, "filterText": null, "insertText": "insert", "kind": 12, "label": "insert" }, { "detail": "∀ k v. Ord k ⇒ (v → v → v) → k → v → Map k v → Map k v", "documentation": { "kind": "markdown", "value": "Inserts or updates a value with the given function.\n\nThe combining function is called with the existing value as the first\nargument and the new value as the second argument.\n\n*From: Data.Map*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insertWith", "Data.Map", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "insertWith" }, "sortText": "Z.insertWith", "additionalTextEdits": null, "filterText": null, "insertText": "insertWith", "kind": 12, "label": "insertWith" }, { "detail": "∀ k a b. Ord k ⇒ Map k a → Map k b → Map k a", "documentation": { "kind": "markdown", "value": "Compute the intersection of two maps, preferring values from the first map in the case\nof duplicate keys.\n\n*From: Data.Map*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersection", "Data.Map", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "intersection" }, "sortText": "Z.intersection", "additionalTextEdits": null, "filterText": null, "insertText": "intersection", "kind": 12, "label": "intersection" }, { "detail": "∀ k a b c. Ord k ⇒ (a → b → c) → Map k a → Map k b → Map k c", "documentation": { "kind": "markdown", "value": "Compute the intersection of two maps, using the specified function\nto combine values for duplicate keys.\n\n*From: Data.Map*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersectionWith", "Data.Map", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "intersectionWith" }, "sortText": "Z.intersectionWith", "additionalTextEdits": null, "filterText": null, "insertText": "intersectionWith", "kind": 12, "label": "intersectionWith" }, { "detail": "∀ k v. Map k v → Boolean", "documentation": { "kind": "markdown", "value": "Test if a map is empty\n\n*From: Data.Map*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isEmpty", "Data.Map", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "isEmpty" }, "sortText": "Z.isEmpty", "additionalTextEdits": null, "filterText": null, "insertText": "isEmpty", "kind": 12, "label": "isEmpty" }, { "detail": "∀ k v. Ord k ⇒ Eq v ⇒ Map k v → Map k v → Boolean", "documentation": { "kind": "markdown", "value": "Test whether one map contains all of the keys and values contained in another map\n\n*From: Data.Map*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isSubmap", "Data.Map", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "isSubmap" }, "sortText": "Z.isSubmap", "additionalTextEdits": null, "filterText": null, "insertText": "isSubmap", "kind": 12, "label": "isSubmap" }, { "detail": "∀ k v. Map k v → Boolean", "documentation": { "kind": "markdown", "value": "Test if a map is empty\n\n*From: Data.Map.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isEmpty", "Data.Map.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "isEmpty" }, "sortText": "Z.isEmpty", "additionalTextEdits": null, "filterText": null, "insertText": "isEmpty", "kind": 12, "label": "isEmpty" }, { "detail": "∀ k v. Ord k ⇒ k → v → Map k v → Map k v", "documentation": { "kind": "markdown", "value": "Insert or replace a key/value pair in a map\n\n*From: Data.Map.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insert", "Data.Map.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "insert" }, "sortText": "Z.insert", "additionalTextEdits": null, "filterText": null, "insertText": "insert", "kind": 12, "label": "insert" }, { "detail": "∀ k v. Ord k ⇒ (v → v → v) → k → v → Map k v → Map k v", "documentation": { "kind": "markdown", "value": "Inserts or updates a value with the given function.\n\nThe combining function is called with the existing value as the first\nargument and the new value as the second argument.\n\n*From: Data.Map.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insertWith", "Data.Map.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "insertWith" }, "sortText": "Z.insertWith", "additionalTextEdits": null, "filterText": null, "insertText": "insertWith", "kind": 12, "label": "insertWith" }, { "detail": "∀ k a b. Ord k ⇒ Map k a → Map k b → Map k a", "documentation": { "kind": "markdown", "value": "Compute the intersection of two maps, preferring values from the first map in the case\nof duplicate keys.\n\n*From: Data.Map.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersection", "Data.Map.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "intersection" }, "sortText": "Z.intersection", "additionalTextEdits": null, "filterText": null, "insertText": "intersection", "kind": 12, "label": "intersection" }, { "detail": "∀ k a b c. Ord k ⇒ (a → b → c) → Map k a → Map k b → Map k c", "documentation": { "kind": "markdown", "value": "Compute the intersection of two maps, using the specified function\nto combine values for duplicate keys.\n\n*From: Data.Map.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersectionWith", "Data.Map.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "intersectionWith" }, "sortText": "Z.intersectionWith", "additionalTextEdits": null, "filterText": null, "insertText": "intersectionWith", "kind": 12, "label": "intersectionWith" }, { "detail": "∀ k v. Ord k ⇒ Eq v ⇒ Map k v → Map k v → Boolean", "documentation": { "kind": "markdown", "value": "Test whether one map contains all of the keys and values contained in another map\n\n*From: Data.Map.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isSubmap", "Data.Map.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "isSubmap" }, "sortText": "Z.isSubmap", "additionalTextEdits": null, "filterText": null, "insertText": "isSubmap", "kind": 12, "label": "isSubmap" }, { "detail": "∀ a. Maybe a → Boolean", "documentation": { "kind": "markdown", "value": "Returns `true` when the `Maybe` value was constructed with `Just`.\n\n*From: Data.Maybe*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isJust", "Data.Maybe", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "isJust" }, "sortText": "Z.isJust", "additionalTextEdits": null, "filterText": null, "insertText": "isJust", "kind": 12, "label": "isJust" }, { "detail": "∀ a. Maybe a → Boolean", "documentation": { "kind": "markdown", "value": "Returns `true` when the `Maybe` value is `Nothing`.\n\n*From: Data.Maybe*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isNothing", "Data.Maybe", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "isNothing" }, "sortText": "Z.isNothing", "additionalTextEdits": null, "filterText": null, "insertText": "isNothing", "kind": 12, "label": "isNothing" }, { "detail": "Ordering → Ordering", "documentation": { "kind": "markdown", "value": "Reverses an `Ordering` value, flipping greater than for less than while\npreserving equality.\n\n*From: Data.Ordering*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "invert", "Data.Ordering", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "invert" }, "sortText": "Z.invert", "additionalTextEdits": null, "filterText": null, "insertText": "invert", "kind": 12, "label": "invert" }, { "detail": "∀ f m. Foldable1 f ⇒ Semigroup m ⇒ m → f m → m", "documentation": { "kind": "markdown", "value": "Fold a data structure using a `Semigroup` instance,\ncombining adjacent elements using the specified separator.\n\n*From: Data.Semigroup.Foldable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intercalate", "Data.Semigroup.Foldable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "intercalate" }, "sortText": "Z.intercalate", "additionalTextEdits": null, "filterText": null, "insertText": "intercalate", "kind": 12, "label": "intercalate" }, { "detail": "∀ f m a. Foldable1 f ⇒ Semigroup m ⇒ m → (a → m) → f a → m", "documentation": { "kind": "markdown", "value": "Fold a data structure, accumulating values in some `Semigroup`,\ncombining adjacent elements using the specified separator.\n\n*From: Data.Semigroup.Foldable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intercalateMap", "Data.Semigroup.Foldable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "intercalateMap" }, "sortText": "Z.intercalateMap", "additionalTextEdits": null, "filterText": null, "insertText": "intercalateMap", "kind": 12, "label": "intercalateMap" }, { "detail": "∀ a. Set a → Boolean", "documentation": { "kind": "markdown", "value": "Test if a set is empty\n\n*From: Data.Set*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isEmpty", "Data.Set", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "isEmpty" }, "sortText": "Z.isEmpty", "additionalTextEdits": null, "filterText": null, "insertText": "isEmpty", "kind": 12, "label": "isEmpty" }, { "detail": "∀ a. Ord a ⇒ a → Set a → Set a", "documentation": { "kind": "markdown", "value": "Insert a value into a set\n\n*From: Data.Set*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insert", "Data.Set", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "insert" }, "sortText": "Z.insert", "additionalTextEdits": null, "filterText": null, "insertText": "insert", "kind": 12, "label": "insert" }, { "detail": "∀ a. Ord a ⇒ Set a → Set a → Set a", "documentation": { "kind": "markdown", "value": "The set of elements which are in both the first and second set\n\n*From: Data.Set*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersection", "Data.Set", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "intersection" }, "sortText": "Z.intersection", "additionalTextEdits": null, "filterText": null, "insertText": "intersection", "kind": 12, "label": "intersection" }, { "detail": "∀ a. Ord a ⇒ a → NonEmptySet a → NonEmptySet a", "documentation": { "kind": "markdown", "value": "Insert a value into a set.\n\n*From: Data.Set.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insert", "Data.Set.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "insert" }, "sortText": "Z.insert", "additionalTextEdits": null, "filterText": null, "insertText": "insert", "kind": 12, "label": "insert" }, { "detail": "∀ a. Ord a ⇒ NonEmptySet a → NonEmptySet a → Maybe (NonEmptySet a)", "documentation": { "kind": "markdown", "value": "The set of elements which are in both the first and second set. `Nothing`\nif the sets are disjoint.\n\n*From: Data.Set.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersection", "Data.Set.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "intersection" }, "sortText": "Z.intersection", "additionalTextEdits": null, "filterText": null, "insertText": "intersection", "kind": 12, "label": "intersection" }, { "detail": "Pattern → String → Maybe Int", "documentation": { "kind": "markdown", "value": "Returns the number of code points preceding the first match of the given\npattern in the string. Returns Nothing when no matches are found.\n\n```purescript\n>>> indexOf (Pattern \"𝐀\") \"b 𝐀𝐀 c 𝐀\"\nJust 2\n>>> indexOf (Pattern \"o\") \"b 𝐀𝐀 c 𝐀\"\nNothing\n```\n\n\n*From: Data.String*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "indexOf", "Data.String", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "indexOf" }, "sortText": "Z.indexOf", "additionalTextEdits": null, "filterText": null, "insertText": "indexOf", "kind": 12, "label": "indexOf" }, { "detail": "Pattern → Int → String → Maybe Int", "documentation": { "kind": "markdown", "value": "Returns the number of code points preceding the first match of the given\npattern in the string. Pattern matches preceding the given index will be\nignored. Returns Nothing when no matches are found.\n\n```purescript\n>>> indexOf' (Pattern \"𝐀\") 4 \"b 𝐀𝐀 c 𝐀\"\nJust 7\n>>> indexOf' (Pattern \"o\") 4 \"b 𝐀𝐀 c 𝐀\"\nNothing\n```\n\n\n*From: Data.String*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "indexOf'", "Data.String", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "indexOf'" }, "sortText": "Z.indexOf'", "additionalTextEdits": null, "filterText": null, "insertText": "indexOf'", "kind": 12, "label": "indexOf'" }, { "detail": "Pattern → String → Maybe Int", "documentation": { "kind": "markdown", "value": "Returns the number of code points preceding the first match of the given\npattern in the string. Returns Nothing when no matches are found.\n\n```purescript\n>>> indexOf (Pattern \"𝐀\") \"b 𝐀𝐀 c 𝐀\"\nJust 2\n>>> indexOf (Pattern \"o\") \"b 𝐀𝐀 c 𝐀\"\nNothing\n```\n\n\n*From: Data.String.CodePoints*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "indexOf", "Data.String.CodePoints", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "indexOf" }, "sortText": "Z.indexOf", "additionalTextEdits": null, "filterText": null, "insertText": "indexOf", "kind": 12, "label": "indexOf" }, { "detail": "Pattern → Int → String → Maybe Int", "documentation": { "kind": "markdown", "value": "Returns the number of code points preceding the first match of the given\npattern in the string. Pattern matches preceding the given index will be\nignored. Returns Nothing when no matches are found.\n\n```purescript\n>>> indexOf' (Pattern \"𝐀\") 4 \"b 𝐀𝐀 c 𝐀\"\nJust 7\n>>> indexOf' (Pattern \"o\") 4 \"b 𝐀𝐀 c 𝐀\"\nNothing\n```\n\n\n*From: Data.String.CodePoints*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "indexOf'", "Data.String.CodePoints", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "indexOf'" }, "sortText": "Z.indexOf'", "additionalTextEdits": null, "filterText": null, "insertText": "indexOf'", "kind": 12, "label": "indexOf'" }, { "detail": "Pattern → String → Maybe Int", "documentation": { "kind": "markdown", "value": "Returns the index of the first occurrence of the pattern in the\ngiven string. Returns `Nothing` if there is no match.\n\n```purescript\nindexOf (Pattern \"c\") \"abcdc\" == Just 2\nindexOf (Pattern \"c\") \"aaa\" == Nothing\n```\n\n\n*From: Data.String.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "indexOf", "Data.String.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "indexOf" }, "sortText": "Z.indexOf", "additionalTextEdits": null, "filterText": null, "insertText": "indexOf", "kind": 12, "label": "indexOf" }, { "detail": "Pattern → Int → String → Maybe Int", "documentation": { "kind": "markdown", "value": "Returns the index of the first occurrence of the pattern in the\ngiven string, starting at the specified index. Returns `Nothing` if there is\nno match.\n\n```purescript\nindexOf' (Pattern \"a\") 2 \"ababa\" == Just 2\nindexOf' (Pattern \"a\") 3 \"ababa\" == Just 4\n```\n\n\n*From: Data.String.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "indexOf'", "Data.String.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "indexOf'" }, "sortText": "Z.indexOf'", "additionalTextEdits": null, "filterText": null, "insertText": "indexOf'", "kind": 12, "label": "indexOf'" }, { "detail": "Pattern → NonEmptyString → Maybe Int", "documentation": { "kind": "markdown", "value": "\n*From: Data.String.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "indexOf", "Data.String.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "indexOf" }, "sortText": "Z.indexOf", "additionalTextEdits": null, "filterText": null, "insertText": "indexOf", "kind": 12, "label": "indexOf" }, { "detail": "Pattern → Int → NonEmptyString → Maybe Int", "documentation": { "kind": "markdown", "value": "\n*From: Data.String.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "indexOf'", "Data.String.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "indexOf'" }, "sortText": "Z.indexOf'", "additionalTextEdits": null, "filterText": null, "insertText": "indexOf'", "kind": 12, "label": "indexOf'" }, { "detail": "Pattern → NonEmptyString → Maybe Int", "documentation": { "kind": "markdown", "value": "\n*From: Data.String.NonEmpty.CodePoints*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "indexOf", "Data.String.NonEmpty.CodePoints", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "indexOf" }, "sortText": "Z.indexOf", "additionalTextEdits": null, "filterText": null, "insertText": "indexOf", "kind": 12, "label": "indexOf" }, { "detail": "Pattern → Int → NonEmptyString → Maybe Int", "documentation": { "kind": "markdown", "value": "\n*From: Data.String.NonEmpty.CodePoints*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "indexOf'", "Data.String.NonEmpty.CodePoints", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "indexOf'" }, "sortText": "Z.indexOf'", "additionalTextEdits": null, "filterText": null, "insertText": "indexOf'", "kind": 12, "label": "indexOf'" }, { "detail": "Pattern → NonEmptyString → Maybe Int", "documentation": { "kind": "markdown", "value": "Returns the index of the first occurrence of the pattern in the\ngiven string. Returns `Nothing` if there is no match.\n\n```purescript\nindexOf (Pattern \"c\") (NonEmptyString \"abcdc\") == Just 2\nindexOf (Pattern \"c\") (NonEmptyString \"aaa\") == Nothing\n```\n\n*From: Data.String.NonEmpty.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "indexOf", "Data.String.NonEmpty.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "indexOf" }, "sortText": "Z.indexOf", "additionalTextEdits": null, "filterText": null, "insertText": "indexOf", "kind": 12, "label": "indexOf" }, { "detail": "Pattern → Int → NonEmptyString → Maybe Int", "documentation": { "kind": "markdown", "value": "Returns the index of the first occurrence of the pattern in the\ngiven string, starting at the specified index. Returns `Nothing` if there is\nno match.\n\n```purescript\nindexOf' (Pattern \"a\") 2 (NonEmptyString \"ababa\") == Just 2\nindexOf' (Pattern \"a\") 3 (NonEmptyString \"ababa\") == Just 4\n```\n\n*From: Data.String.NonEmpty.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "indexOf'", "Data.String.NonEmpty.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "indexOf'" }, "sortText": "Z.indexOf'", "additionalTextEdits": null, "filterText": null, "insertText": "indexOf'", "kind": 12, "label": "indexOf'" }, { "detail": "RegexFlags", "documentation": { "kind": "markdown", "value": "Only ignoreCase flag set to true\n\n*From: Data.String.Regex.Flags*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "ignoreCase", "Data.String.Regex.Flags", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "ignoreCase" }, "sortText": "Z.ignoreCase", "additionalTextEdits": null, "filterText": null, "insertText": "ignoreCase", "kind": 12, "label": "ignoreCase" }, { "detail": "∀ f m. Foldable f ⇒ Monoid m ⇒ m → f m → m", "documentation": { "kind": "markdown", "value": "Fold a data structure, accumulating values in some `Monoid`,\ncombining adjacent elements using the specified separator.\n\nFor example:\n\n```purescript\n> intercalate \", \" [\"Lorem\", \"ipsum\", \"dolor\"]\n= \"Lorem, ipsum, dolor\"\n\n> intercalate \"*\" [\"a\", \"b\", \"c\"]\n= \"a*b*c\"\n\n> intercalate [1] [[2, 3], [4, 5], [6, 7]]\n= [2, 3, 1, 4, 5, 1, 6, 7]\n```\n\n*From: Data.Traversable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intercalate", "Data.Traversable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "intercalate" }, "sortText": "Z.intercalate", "additionalTextEdits": null, "filterText": null, "insertText": "intercalate", "kind": 12, "label": "intercalate" }, { "detail": "∀ a. AVarStatus a → Boolean", "documentation": { "kind": "markdown", "value": "\n*From: Effect.AVar*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isEmpty", "Effect.AVar", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "isEmpty" }, "sortText": "Z.isEmpty", "additionalTextEdits": null, "filterText": null, "insertText": "isEmpty", "kind": 12, "label": "isEmpty" }, { "detail": "∀ a. AVarStatus a → Boolean", "documentation": { "kind": "markdown", "value": "\n*From: Effect.AVar*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isFilled", "Effect.AVar", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "isFilled" }, "sortText": "Z.isFilled", "additionalTextEdits": null, "filterText": null, "insertText": "isFilled", "kind": 12, "label": "isFilled" }, { "detail": "∀ a. AVarStatus a → Boolean", "documentation": { "kind": "markdown", "value": "\n*From: Effect.AVar*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isKilled", "Effect.AVar", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "isKilled" }, "sortText": "Z.isKilled", "additionalTextEdits": null, "filterText": null, "insertText": "isKilled", "kind": 12, "label": "isKilled" }, { "detail": "∀ a. Aff a → Aff a", "documentation": { "kind": "markdown", "value": "Runs an effect such that it cannot be killed.\n\n*From: Effect.Aff*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "invincible", "Effect.Aff", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "invincible" }, "sortText": "Z.invincible", "additionalTextEdits": null, "filterText": null, "insertText": "invincible", "kind": 12, "label": "invincible" }, { "detail": "∀ a. AVarStatus a → Boolean", "documentation": { "kind": "markdown", "value": "\n*From: Effect.Aff.AVar*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isEmpty", "Effect.Aff.AVar", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "isEmpty" }, "sortText": "Z.isEmpty", "additionalTextEdits": null, "filterText": null, "insertText": "isEmpty", "kind": 12, "label": "isEmpty" }, { "detail": "∀ a. AVarStatus a → Boolean", "documentation": { "kind": "markdown", "value": "\n*From: Effect.Aff.AVar*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isFilled", "Effect.Aff.AVar", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "isFilled" }, "sortText": "Z.isFilled", "additionalTextEdits": null, "filterText": null, "insertText": "isFilled", "kind": 12, "label": "isFilled" }, { "detail": "∀ a. AVarStatus a → Boolean", "documentation": { "kind": "markdown", "value": "\n*From: Effect.Aff.AVar*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isKilled", "Effect.Aff.AVar", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "isKilled" }, "sortText": "Z.isKilled", "additionalTextEdits": null, "filterText": null, "insertText": "isKilled", "kind": 12, "label": "isKilled" }, { "detail": "∀ m. MonadEffect m ⇒ String → m Unit", "documentation": { "kind": "markdown", "value": "\n*From: Effect.Class.Console*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "info", "Effect.Class.Console", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "info" }, "sortText": "Z.info", "additionalTextEdits": null, "filterText": null, "insertText": "info", "kind": 12, "label": "info" }, { "detail": "∀ m a. MonadEffect m ⇒ Show a ⇒ a → m Unit", "documentation": { "kind": "markdown", "value": "\n*From: Effect.Class.Console*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "infoShow", "Effect.Class.Console", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "infoShow" }, "sortText": "Z.infoShow", "additionalTextEdits": null, "filterText": null, "insertText": "infoShow", "kind": 12, "label": "infoShow" }, { "detail": "String → Effect Unit", "documentation": { "kind": "markdown", "value": "Write an info message to the console.\n\n*From: Effect.Console*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "info", "Effect.Console", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "info" }, "sortText": "Z.info", "additionalTextEdits": null, "filterText": null, "insertText": "info", "kind": 12, "label": "info" }, { "detail": "∀ a. Show a ⇒ a → Effect Unit", "documentation": { "kind": "markdown", "value": "Write an info value to the console, using its `Show` instance to produce a\n`String`.\n\n*From: Effect.Console*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "infoShow", "Effect.Console", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "infoShow" }, "sortText": "Z.infoShow", "additionalTextEdits": null, "filterText": null, "insertText": "infoShow", "kind": 12, "label": "infoShow" }, { "detail": "Foreign → Boolean", "documentation": { "kind": "markdown", "value": "Test whether a foreign value is null\n\n*From: Foreign*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isNull", "Foreign", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "isNull" }, "sortText": "Z.isNull", "additionalTextEdits": null, "filterText": null, "insertText": "isNull", "kind": 12, "label": "isNull" }, { "detail": "Foreign → Boolean", "documentation": { "kind": "markdown", "value": "Test whether a foreign value is undefined\n\n*From: Foreign*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isUndefined", "Foreign", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "isUndefined" }, "sortText": "Z.isUndefined", "additionalTextEdits": null, "filterText": null, "insertText": "isUndefined", "kind": 12, "label": "isUndefined" }, { "detail": "Foreign → Boolean", "documentation": { "kind": "markdown", "value": "Test whether a foreign value is an array\n\n*From: Foreign*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isArray", "Foreign", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "isArray" }, "sortText": "Z.isArray", "additionalTextEdits": null, "filterText": null, "insertText": "isArray", "kind": 12, "label": "isArray" }, { "detail": "∀ i a. Indexable a ⇒ Index i ⇒ a → i → ExceptT (NonEmptyList ForeignError) Identity Foreign", "documentation": { "kind": "markdown", "value": "\n*From: Foreign.Index*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "ix", "Foreign.Index", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "ix" }, "sortText": "Z.ix", "additionalTextEdits": null, "filterText": null, "insertText": "ix", "kind": 12, "label": "ix" }, { "detail": "∀ i. Index i ⇒ Foreign → i → ExceptT (NonEmptyList ForeignError) Identity Foreign", "documentation": { "kind": "markdown", "value": "\n*From: Foreign.Index*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "index", "Foreign.Index", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "index" }, "sortText": "Z.index", "additionalTextEdits": null, "filterText": null, "insertText": "index", "kind": 12, "label": "index" }, { "detail": "Number → Boolean", "documentation": { "kind": "markdown", "value": "Test whether a number is NaN\n\n*From: Global*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isNaN", "Global", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "isNaN" }, "sortText": "Z.isNaN", "additionalTextEdits": null, "filterText": null, "insertText": "isNaN", "kind": 12, "label": "isNaN" }, { "detail": "Number", "documentation": { "kind": "markdown", "value": "Positive infinity\n\n*From: Global*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "infinity", "Global", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "infinity" }, "sortText": "Z.infinity", "additionalTextEdits": null, "filterText": null, "insertText": "infinity", "kind": 12, "label": "infinity" }, { "detail": "Number → Boolean", "documentation": { "kind": "markdown", "value": "Test whether a number is finite\n\n*From: Global*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isFinite", "Global", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "isFinite" }, "sortText": "Z.isFinite", "additionalTextEdits": null, "filterText": null, "insertText": "isFinite", "kind": 12, "label": "isFinite" }, { "detail": "Stats → Boolean", "documentation": { "kind": "markdown", "value": "\n*From: Node.FS.Stats*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isFile", "Node.FS.Stats", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "isFile" }, "sortText": "Z.isFile", "additionalTextEdits": null, "filterText": null, "insertText": "isFile", "kind": 12, "label": "isFile" }, { "detail": "Stats → Boolean", "documentation": { "kind": "markdown", "value": "\n*From: Node.FS.Stats*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isDirectory", "Node.FS.Stats", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "isDirectory" }, "sortText": "Z.isDirectory", "additionalTextEdits": null, "filterText": null, "insertText": "isDirectory", "kind": 12, "label": "isDirectory" }, { "detail": "Stats → Boolean", "documentation": { "kind": "markdown", "value": "\n*From: Node.FS.Stats*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isBlockDevice", "Node.FS.Stats", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "isBlockDevice" }, "sortText": "Z.isBlockDevice", "additionalTextEdits": null, "filterText": null, "insertText": "isBlockDevice", "kind": 12, "label": "isBlockDevice" }, { "detail": "Stats → Boolean", "documentation": { "kind": "markdown", "value": "\n*From: Node.FS.Stats*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isCharacterDevice", "Node.FS.Stats", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "isCharacterDevice" }, "sortText": "Z.isCharacterDevice", "additionalTextEdits": null, "filterText": null, "insertText": "isCharacterDevice", "kind": 12, "label": "isCharacterDevice" }, { "detail": "Stats → Boolean", "documentation": { "kind": "markdown", "value": "\n*From: Node.FS.Stats*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isFIFO", "Node.FS.Stats", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "isFIFO" }, "sortText": "Z.isFIFO", "additionalTextEdits": null, "filterText": null, "insertText": "isFIFO", "kind": 12, "label": "isFIFO" }, { "detail": "Stats → Boolean", "documentation": { "kind": "markdown", "value": "\n*From: Node.FS.Stats*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isSocket", "Node.FS.Stats", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "isSocket" }, "sortText": "Z.isSocket", "additionalTextEdits": null, "filterText": null, "insertText": "isSocket", "kind": 12, "label": "isSocket" }, { "detail": "Stats → Boolean", "documentation": { "kind": "markdown", "value": "\n*From: Node.FS.Stats*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isSymbolicLink", "Node.FS.Stats", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "isSymbolicLink" }, "sortText": "Z.isSymbolicLink", "additionalTextEdits": null, "filterText": null, "insertText": "isSymbolicLink", "kind": 12, "label": "isSymbolicLink" }, { "detail": "String → Boolean", "documentation": { "kind": "markdown", "value": "Determines whether path is an absolute path\n\n*From: Node.Path*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isAbsolute", "Node.Path", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "isAbsolute" }, "sortText": "Z.isAbsolute", "additionalTextEdits": null, "filterText": null, "insertText": "isAbsolute", "kind": 12, "label": "isAbsolute" }, { "detail": "∀ w. Readable w → Effect Boolean", "documentation": { "kind": "markdown", "value": "Check whether or not a stream is paused for reading.\n\n*From: Node.Stream*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isPaused", "Node.Stream", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "isPaused" }, "sortText": "Z.isPaused", "additionalTextEdits": null, "filterText": null, "insertText": "isPaused", "kind": 12, "label": "isPaused" }, { "detail": "∀ a m. Monad m ⇒ Int → Producer a m Unit → m (Maybe a)", "documentation": { "kind": "markdown", "value": "Index into a `Producer`\n\n*From: Pipes.Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "index", "Pipes.Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "index" }, "sortText": "Z.index", "additionalTextEdits": null, "filterText": null, "insertText": "index", "kind": 12, "label": "index" }, { "detail": "∀ t a. Category a ⇒ a t t", "documentation": { "kind": "markdown", "value": "\n*From: Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "identity", "Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "identity" }, "sortText": "Z.identity", "additionalTextEdits": null, "filterText": null, "insertText": "identity", "kind": 12, "label": "identity" }, { "detail": "∀ a m. Bind m ⇒ m Boolean → m a → m a → m a", "documentation": { "kind": "markdown", "value": "Execute a monadic action if a condition holds.\n\nFor example:\n\n```purescript\nmain = ifM ((< 0.5) <$> random)\n (trace \"Heads\")\n (trace \"Tails\")\n```\n\n*From: Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "ifM", "Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "ifM" }, "sortText": "Z.ifM", "additionalTextEdits": null, "filterText": null, "insertText": "ifM", "kind": 12, "label": "ifM" }, { "detail": "∀ r1 r2 l a. IsSymbol l ⇒ Lacks l r1 ⇒ Cons l a r1 r2 ⇒ SProxy l → a → Record r1 → Record r2", "documentation": { "kind": "markdown", "value": "Insert a new property for a label which is specified using a value-level proxy for\na type-level string.\n\nFor example:\n\n```purescript\ninsert (SProxy :: SProxy \"x\")\n :: forall r a. Lacks \"x\" r => a -> { | r } -> { x :: a | r }\n```\n\n*From: Record*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insert", "Record", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "insert" }, "sortText": "Z.insert", "additionalTextEdits": null, "filterText": null, "insertText": "insert", "kind": 12, "label": "insert" }, { "detail": "∀ l a r1 r2. Cons l a r1 r2 ⇒ Lacks l r1 ⇒ IsSymbol l ⇒ SProxy l → a → Builder (Record r1) (Record r2)", "documentation": { "kind": "markdown", "value": "Build by inserting a new field.\n\n*From: Record.Builder*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insert", "Record.Builder", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "insert" }, "sortText": "Z.insert", "additionalTextEdits": null, "filterText": null, "insertText": "insert", "kind": 12, "label": "insert" }, { "detail": "∀ m t arg g. FocusWarning ⇒ Monad m ⇒ Example t arg g ⇒ String → t → SpecT g arg m Unit", "documentation": { "kind": "markdown", "value": "Create a spec with a description and mark it as the only one to\nbe run. (useful for quickly narrowing down on a single test)\n\n*From: Test.Spec*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "itOnly", "Test.Spec", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "itOnly" }, "sortText": "Z.itOnly", "additionalTextEdits": null, "filterText": null, "insertText": "itOnly", "kind": 12, "label": "itOnly" }, { "detail": "∀ m t arg g. Monad m ⇒ Example t arg g ⇒ String → t → SpecT g arg m Unit", "documentation": { "kind": "markdown", "value": "Create a spec with a description.\n\n*From: Test.Spec*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "it", "Test.Spec", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "it" }, "sortText": "Z.it", "additionalTextEdits": null, "filterText": null, "insertText": "it", "kind": 12, "label": "it" }, { "detail": "Int → String", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Style*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "indent", "Test.Spec.Style", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "indent" }, "sortText": "Z.indent", "additionalTextEdits": null, "filterText": null, "insertText": "indent", "kind": 12, "label": "indent" }, { "detail": "∀ c m a. Tree c (Item m a) → Boolean", "documentation": { "kind": "markdown", "value": "Return true if all items in the tree are parallelizable\n\n*From: Test.Spec.Tree*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isAllParallelizable", "Test.Spec.Tree", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "isAllParallelizable" }, "sortText": "Z.isAllParallelizable", "additionalTextEdits": null, "filterText": null, "insertText": "isAllParallelizable", "kind": 12, "label": "isAllParallelizable" }, { "detail": "∀ a. Semiring a ⇒ a → a", "documentation": { "kind": "markdown", "value": "Adds one to input\n\n*From: Utils.Math*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "inc", "Utils.Math", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 4 }, "end": { "line": 4, "character": 1 } }, "newText": "inc" }, "sortText": "Z.inc", "additionalTextEdits": null, "filterText": null, "insertText": "inc", "kind": 12, "label": "inc" } ], "isIncomplete": false } [Trace - 4:16:26 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 25 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport T\n" } ] } [Trace - 4:16:26 PM] Sending request 'textDocument/completion - (18)'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" }, "position": { "line": 4, "character": 8 }, "context": { "triggerKind": 1 } } [Trace - 4:16:26 PM] Received notification 'window/logMessage'. Params: { "type": 3, "message": "[Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead\n" } [Info - 4:16:26 PM] [Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead [Trace - 4:16:26 PM] Received response 'textDocument/completion - (18)' in 12ms. Result: { "items": [ { "textEdit": { "range": { "start": { "character": 7, "line": 4 }, "end": { "line": 4, "character": 8 } }, "newText": "Test.MathUtilsSpec" }, "additionalTextEdits": null, "command": null, "detail": null, "documentation": null, "filterText": null, "insertText": "Test.MathUtilsSpec", "kind": 9, "label": "Test.MathUtilsSpec", "sortText": null }, { "textEdit": { "range": { "start": { "character": 7, "line": 4 }, "end": { "line": 4, "character": 8 } }, "newText": "Test.Spec.Reporter.Console" }, "additionalTextEdits": null, "command": null, "detail": null, "documentation": null, "filterText": null, "insertText": "Test.Spec.Reporter.Console", "kind": 9, "label": "Test.Spec.Reporter.Console", "sortText": null }, { "textEdit": { "range": { "start": { "character": 7, "line": 4 }, "end": { "line": 4, "character": 8 } }, "newText": "Test.Spec.Assertions.String" }, "additionalTextEdits": null, "command": null, "detail": null, "documentation": null, "filterText": null, "insertText": "Test.Spec.Assertions.String", "kind": 9, "label": "Test.Spec.Assertions.String", "sortText": null }, { "textEdit": { "range": { "start": { "character": 7, "line": 4 }, "end": { "line": 4, "character": 8 } }, "newText": "Test.Spec.Runner" }, "additionalTextEdits": null, "command": null, "detail": null, "documentation": null, "filterText": null, "insertText": "Test.Spec.Runner", "kind": 9, "label": "Test.Spec.Runner", "sortText": null }, { "textEdit": { "range": { "start": { "character": 7, "line": 4 }, "end": { "line": 4, "character": 8 } }, "newText": "Test.Spec.Reporter.Base" }, "additionalTextEdits": null, "command": null, "detail": null, "documentation": null, "filterText": null, "insertText": "Test.Spec.Reporter.Base", "kind": 9, "label": "Test.Spec.Reporter.Base", "sortText": null }, { "textEdit": { "range": { "start": { "character": 7, "line": 4 }, "end": { "line": 4, "character": 8 } }, "newText": "Test.QuickCheck" }, "additionalTextEdits": null, "command": null, "detail": null, "documentation": null, "filterText": null, "insertText": "Test.QuickCheck", "kind": 9, "label": "Test.QuickCheck", "sortText": null }, { "textEdit": { "range": { "start": { "character": 7, "line": 4 }, "end": { "line": 4, "character": 8 } }, "newText": "Test.Spec.Reporter.Dot" }, "additionalTextEdits": null, "command": null, "detail": null, "documentation": null, "filterText": null, "insertText": "Test.Spec.Reporter.Dot", "kind": 9, "label": "Test.Spec.Reporter.Dot", "sortText": null }, { "textEdit": { "range": { "start": { "character": 7, "line": 4 }, "end": { "line": 4, "character": 8 } }, "newText": "Test.Main" }, "additionalTextEdits": null, "command": null, "detail": null, "documentation": null, "filterText": null, "insertText": "Test.Main", "kind": 9, "label": "Test.Main", "sortText": null }, { "textEdit": { "range": { "start": { "character": 7, "line": 4 }, "end": { "line": 4, "character": 8 } }, "newText": "Test.Spec.Assertions" }, "additionalTextEdits": null, "command": null, "detail": null, "documentation": null, "filterText": null, "insertText": "Test.Spec.Assertions", "kind": 9, "label": "Test.Spec.Assertions", "sortText": null }, { "textEdit": { "range": { "start": { "character": 7, "line": 4 }, "end": { "line": 4, "character": 8 } }, "newText": "Test.Spec.Reporter.Tap" }, "additionalTextEdits": null, "command": null, "detail": null, "documentation": null, "filterText": null, "insertText": "Test.Spec.Reporter.Tap", "kind": 9, "label": "Test.Spec.Reporter.Tap", "sortText": null }, { "textEdit": { "range": { "start": { "character": 7, "line": 4 }, "end": { "line": 4, "character": 8 } }, "newText": "Test.Spec.Reporter" }, "additionalTextEdits": null, "command": null, "detail": null, "documentation": null, "filterText": null, "insertText": "Test.Spec.Reporter", "kind": 9, "label": "Test.Spec.Reporter", "sortText": null }, { "textEdit": { "range": { "start": { "character": 7, "line": 4 }, "end": { "line": 4, "character": 8 } }, "newText": "Test.QuickCheck.Arbitrary" }, "additionalTextEdits": null, "command": null, "detail": null, "documentation": null, "filterText": null, "insertText": "Test.QuickCheck.Arbitrary", "kind": 9, "label": "Test.QuickCheck.Arbitrary", "sortText": null }, { "textEdit": { "range": { "start": { "character": 7, "line": 4 }, "end": { "line": 4, "character": 8 } }, "newText": "Test.Spec.Result" }, "additionalTextEdits": null, "command": null, "detail": null, "documentation": null, "filterText": null, "insertText": "Test.Spec.Result", "kind": 9, "label": "Test.Spec.Result", "sortText": null }, { "textEdit": { "range": { "start": { "character": 7, "line": 4 }, "end": { "line": 4, "character": 8 } }, "newText": "Test.Spec.Discovery" }, "additionalTextEdits": null, "command": null, "detail": null, "documentation": null, "filterText": null, "insertText": "Test.Spec.Discovery", "kind": 9, "label": "Test.Spec.Discovery", "sortText": null }, { "textEdit": { "range": { "start": { "character": 7, "line": 4 }, "end": { "line": 4, "character": 8 } }, "newText": "Type.Data.Row" }, "additionalTextEdits": null, "command": null, "detail": null, "documentation": null, "filterText": null, "insertText": "Type.Data.Row", "kind": 9, "label": "Type.Data.Row", "sortText": null }, { "textEdit": { "range": { "start": { "character": 7, "line": 4 }, "end": { "line": 4, "character": 8 } }, "newText": "Test.Spec.Console" }, "additionalTextEdits": null, "command": null, "detail": null, "documentation": null, "filterText": null, "insertText": "Test.Spec.Console", "kind": 9, "label": "Test.Spec.Console", "sortText": null }, { "textEdit": { "range": { "start": { "character": 7, "line": 4 }, "end": { "line": 4, "character": 8 } }, "newText": "Test.Spec.Tree" }, "additionalTextEdits": null, "command": null, "detail": null, "documentation": null, "filterText": null, "insertText": "Test.Spec.Tree", "kind": 9, "label": "Test.Spec.Tree", "sortText": null }, { "textEdit": { "range": { "start": { "character": 7, "line": 4 }, "end": { "line": 4, "character": 8 } }, "newText": "Test.Spec.Reporter.Spec" }, "additionalTextEdits": null, "command": null, "detail": null, "documentation": null, "filterText": null, "insertText": "Test.Spec.Reporter.Spec", "kind": 9, "label": "Test.Spec.Reporter.Spec", "sortText": null }, { "textEdit": { "range": { "start": { "character": 7, "line": 4 }, "end": { "line": 4, "character": 8 } }, "newText": "Test.Spec.Speed" }, "additionalTextEdits": null, "command": null, "detail": null, "documentation": null, "filterText": null, "insertText": "Test.Spec.Speed", "kind": 9, "label": "Test.Spec.Speed", "sortText": null }, { "textEdit": { "range": { "start": { "character": 7, "line": 4 }, "end": { "line": 4, "character": 8 } }, "newText": "Test.Spec.Runner.Event" }, "additionalTextEdits": null, "command": null, "detail": null, "documentation": null, "filterText": null, "insertText": "Test.Spec.Runner.Event", "kind": 9, "label": "Test.Spec.Runner.Event", "sortText": null }, { "textEdit": { "range": { "start": { "character": 7, "line": 4 }, "end": { "line": 4, "character": 8 } }, "newText": "Test.Spec.Summary" }, "additionalTextEdits": null, "command": null, "detail": null, "documentation": null, "filterText": null, "insertText": "Test.Spec.Summary", "kind": 9, "label": "Test.Spec.Summary", "sortText": null }, { "textEdit": { "range": { "start": { "character": 7, "line": 4 }, "end": { "line": 4, "character": 8 } }, "newText": "Test.FatPreludeSpec" }, "additionalTextEdits": null, "command": null, "detail": null, "documentation": null, "filterText": null, "insertText": "Test.FatPreludeSpec", "kind": 9, "label": "Test.FatPreludeSpec", "sortText": null }, { "textEdit": { "range": { "start": { "character": 7, "line": 4 }, "end": { "line": 4, "character": 8 } }, "newText": "Test.Spec" }, "additionalTextEdits": null, "command": null, "detail": null, "documentation": null, "filterText": null, "insertText": "Test.Spec", "kind": 9, "label": "Test.Spec", "sortText": null }, { "textEdit": { "range": { "start": { "character": 7, "line": 4 }, "end": { "line": 4, "character": 8 } }, "newText": "Test.StringUtilsSpec" }, "additionalTextEdits": null, "command": null, "detail": null, "documentation": null, "filterText": null, "insertText": "Test.StringUtilsSpec", "kind": 9, "label": "Test.StringUtilsSpec", "sortText": null }, { "textEdit": { "range": { "start": { "character": 7, "line": 4 }, "end": { "line": 4, "character": 8 } }, "newText": "Test.QuickCheck.Gen" }, "additionalTextEdits": null, "command": null, "detail": null, "documentation": null, "filterText": null, "insertText": "Test.QuickCheck.Gen", "kind": 9, "label": "Test.QuickCheck.Gen", "sortText": null }, { "textEdit": { "range": { "start": { "character": 7, "line": 4 }, "end": { "line": 4, "character": 8 } }, "newText": "Test.Spec.Style" }, "additionalTextEdits": null, "command": null, "detail": null, "documentation": null, "filterText": null, "insertText": "Test.Spec.Style", "kind": 9, "label": "Test.Spec.Style", "sortText": null }, { "textEdit": { "range": { "start": { "character": 7, "line": 4 }, "end": { "line": 4, "character": 8 } }, "newText": "Type.Equality" }, "additionalTextEdits": null, "command": null, "detail": null, "documentation": null, "filterText": null, "insertText": "Type.Equality", "kind": 9, "label": "Type.Equality", "sortText": null }, { "textEdit": { "range": { "start": { "character": 7, "line": 4 }, "end": { "line": 4, "character": 8 } }, "newText": "Test.Spec.QuickCheck" }, "additionalTextEdits": null, "command": null, "detail": null, "documentation": null, "filterText": null, "insertText": "Test.Spec.QuickCheck", "kind": 9, "label": "Test.Spec.QuickCheck", "sortText": null }, { "textEdit": { "range": { "start": { "character": 7, "line": 4 }, "end": { "line": 4, "character": 8 } }, "newText": "Type.Data.RowList" }, "additionalTextEdits": null, "command": null, "detail": null, "documentation": null, "filterText": null, "insertText": "Type.Data.RowList", "kind": 9, "label": "Type.Data.RowList", "sortText": null }, { "textEdit": { "range": { "start": { "character": 7, "line": 4 }, "end": { "line": 4, "character": 8 } }, "newText": "Test.ArrayUtilsSpec" }, "additionalTextEdits": null, "command": null, "detail": null, "documentation": null, "filterText": null, "insertText": "Test.ArrayUtilsSpec", "kind": 9, "label": "Test.ArrayUtilsSpec", "sortText": null }, { "textEdit": { "range": { "start": { "character": 7, "line": 4 }, "end": { "line": 4, "character": 8 } }, "newText": "Test.ProblemsSpec" }, "additionalTextEdits": null, "command": null, "detail": null, "documentation": null, "filterText": null, "insertText": "Test.ProblemsSpec", "kind": 9, "label": "Test.ProblemsSpec", "sortText": null } ], "isIncomplete": false } [Trace - 4:16:30 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 26 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec \n" } ] } [Trace - 4:16:30 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 27 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (\n" } ] } [Trace - 4:16:31 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 28 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (S\n" } ] } [Trace - 4:16:31 PM] Sending request 'textDocument/completion - (19)'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" }, "position": { "line": 4, "character": 19 }, "context": { "triggerKind": 1 } } [Trace - 4:16:31 PM] Received notification 'window/logMessage'. Params: { "type": 3, "message": "[Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead\n" } [Info - 4:16:31 PM] [Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead [Trace - 4:16:31 PM] Received response 'textDocument/completion - (19)' in 11ms. Result: { "items": [ { "detail": "SpecT Aff Unit Identity a", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Spec", "Test.Spec", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 18, "line": 4 }, "end": { "line": 4, "character": 19 } }, "newText": "Spec" }, "sortText": "Z.Spec", "additionalTextEdits": null, "filterText": null, "insertText": "Spec", "kind": 7, "label": "Spec" }, { "detail": "Tree (ActionWith m a) (Item m a)", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "SpecTree", "Test.Spec", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 18, "line": 4 }, "end": { "line": 4, "character": 19 } }, "newText": "SpecTree" }, "sortText": "Z.SpecTree", "additionalTextEdits": null, "filterText": null, "insertText": "SpecTree", "kind": 7, "label": "SpecTree" }, { "detail": "(Type -> Type) -> Type -> (Type -> Type) -> Type -> Type", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "SpecT", "Test.Spec", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 18, "line": 4 }, "end": { "line": 4, "character": 19 } }, "newText": "SpecT" }, "sortText": "Z.SpecT", "additionalTextEdits": null, "filterText": null, "insertText": "SpecT", "kind": 3, "label": "SpecT" }, { "detail": "∀ g i m a. WriterT (Array (SpecTree g i)) m a → SpecT g i m a", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "SpecT", "Test.Spec", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 18, "line": 4 }, "end": { "line": 4, "character": 19 } }, "newText": "SpecT" }, "sortText": "Z.SpecT", "additionalTextEdits": null, "filterText": null, "insertText": "SpecT", "kind": 7, "label": "SpecT" } ], "isIncomplete": false } [Trace - 4:16:32 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 29 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec)\n" } ] } [Trace - 4:16:32 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 30 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec)\n\n\n" } ] } [Trace - 4:16:33 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 31 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec)\n\ns\n" } ] } [Trace - 4:16:33 PM] Sending request 'textDocument/completion - (20)'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" }, "position": { "line": 6, "character": 1 }, "context": { "triggerKind": 1 } } [Trace - 4:16:33 PM] Received notification 'window/logMessage'. Params: { "type": 3, "message": "[Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead\n" } [Info - 4:16:33 PM] [Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead [Trace - 4:16:33 PM] Received response 'textDocument/completion - (20)' in 64ms. Result: { "items": [ { "detail": "NonEmptyList GraphicsParam", "documentation": { "kind": "markdown", "value": "\n*From: Ansi.Output*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "strikethrough", "Ansi.Output", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "strikethrough" }, "sortText": "Z.strikethrough", "additionalTextEdits": null, "filterText": null, "insertText": "strikethrough", "kind": 12, "label": "strikethrough" }, { "detail": "∀ s a. (s → a) → s → Store s a", "documentation": { "kind": "markdown", "value": "Create a value in context in the `Store` comonad.\n\n*From: Control.Comonad.Store*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "store", "Control.Comonad.Store", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "store" }, "sortText": "Z.store", "additionalTextEdits": null, "filterText": null, "insertText": "store", "kind": 12, "label": "store" }, { "detail": "∀ s a w. ComonadStore s w ⇒ s → w a → w a", "documentation": { "kind": "markdown", "value": "Reposition the focus at the specified position.\n\n*From: Control.Comonad.Store*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "seek", "Control.Comonad.Store", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "seek" }, "sortText": "Z.seek", "additionalTextEdits": null, "filterText": null, "insertText": "seek", "kind": 12, "label": "seek" }, { "detail": "∀ s a w. ComonadStore s w ⇒ (s → s) → w a → w a", "documentation": { "kind": "markdown", "value": "Reposition the focus at the specified position, which depends on the current position.\n\n*From: Control.Comonad.Store*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "seeks", "Control.Comonad.Store", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "seeks" }, "sortText": "Z.seeks", "additionalTextEdits": null, "filterText": null, "insertText": "seeks", "kind": 12, "label": "seeks" }, { "detail": "∀ s a w. ComonadStore s w ⇒ s → w a → w a", "documentation": { "kind": "markdown", "value": "Reposition the focus at the specified position.\n\n*From: Control.Comonad.Store.Class*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "seek", "Control.Comonad.Store.Class", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "seek" }, "sortText": "Z.seek", "additionalTextEdits": null, "filterText": null, "insertText": "seek", "kind": 12, "label": "seek" }, { "detail": "∀ s a w. ComonadStore s w ⇒ (s → s) → w a → w a", "documentation": { "kind": "markdown", "value": "Reposition the focus at the specified position, which depends on the current position.\n\n*From: Control.Comonad.Store.Class*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "seeks", "Control.Comonad.Store.Class", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "seeks" }, "sortText": "Z.seeks", "additionalTextEdits": null, "filterText": null, "insertText": "seeks", "kind": 12, "label": "seeks" }, { "detail": "∀ a m f. MonadFork f m ⇒ m a → m (f a)", "documentation": { "kind": "markdown", "value": "\n*From: Control.Monad.Fork.Class*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "suspend", "Control.Monad.Fork.Class", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "suspend" }, "sortText": "Z.suspend", "additionalTextEdits": null, "filterText": null, "insertText": "suspend", "kind": 12, "label": "suspend" }, { "detail": "∀ f. Applicative f ⇒ Free f ~> Free f", "documentation": { "kind": "markdown", "value": "Suspend a value given the applicative functor `f` into the free monad.\n\n*From: Control.Monad.Free*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "suspendF", "Control.Monad.Free", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "suspendF" }, "sortText": "Z.suspendF", "additionalTextEdits": null, "filterText": null, "insertText": "suspendF", "kind": 12, "label": "suspendF" }, { "detail": "∀ f g. (f ~> Free g) → Free f ~> Free g", "documentation": { "kind": "markdown", "value": "Like `foldFree`, but for folding into some other Free monad without the\noverhead that `MonadRec` incurs.\n\n*From: Control.Monad.Free*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "substFree", "Control.Monad.Free", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "substFree" }, "sortText": "Z.substFree", "additionalTextEdits": null, "filterText": null, "insertText": "substFree", "kind": 12, "label": "substFree" }, { "detail": "∀ m a. MonadRec m ⇒ MonadGen m ⇒ m a → (a → Boolean) → m a", "documentation": { "kind": "markdown", "value": "Creates a generator that repeatedly run another generator until its output\nmatches a given predicate. This will never halt if the predicate always\nfails.\n\n*From: Control.Monad.Gen*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "suchThat", "Control.Monad.Gen", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "suchThat" }, "sortText": "Z.suchThat", "additionalTextEdits": null, "filterText": null, "insertText": "suchThat", "kind": 12, "label": "suchThat" }, { "detail": "∀ a m. MonadGen m ⇒ (Int → m a) → m a", "documentation": { "kind": "markdown", "value": "\n*From: Control.Monad.Gen*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sized", "Control.Monad.Gen", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "sized" }, "sortText": "Z.sized", "additionalTextEdits": null, "filterText": null, "insertText": "sized", "kind": 12, "label": "sized" }, { "detail": "∀ a m. MonadGen m ⇒ (Int → m a) → m a", "documentation": { "kind": "markdown", "value": "\n*From: Control.Monad.Gen.Class*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sized", "Control.Monad.Gen.Class", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "sized" }, "sortText": "Z.sized", "additionalTextEdits": null, "filterText": null, "insertText": "sized", "kind": 12, "label": "sized" }, { "detail": "∀ f a b. Monad f ⇒ (b → a → b) → b → ListT f a → ListT f b", "documentation": { "kind": "markdown", "value": "Fold a list from the left, accumulating the list of results using the specified function.\n\n*From: Control.Monad.List.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "scanl", "Control.Monad.List.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "scanl" }, "sortText": "Z.scanl", "additionalTextEdits": null, "filterText": null, "insertText": "scanl", "kind": 12, "label": "scanl" }, { "detail": "∀ f a. Applicative f ⇒ a → ListT f a", "documentation": { "kind": "markdown", "value": "Create a list with one element.\n\n*From: Control.Monad.List.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "singleton", "Control.Monad.List.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "singleton" }, "sortText": "Z.singleton", "additionalTextEdits": null, "filterText": null, "insertText": "singleton", "kind": 12, "label": "singleton" }, { "detail": "∀ m t. Monad m ⇒ MMonad t ⇒ t (t m) ~> t m", "documentation": { "kind": "markdown", "value": "\n*From: Control.Monad.Morph*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "squash", "Control.Monad.Morph", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "squash" }, "sortText": "Z.squash", "additionalTextEdits": null, "filterText": null, "insertText": "squash", "kind": 12, "label": "squash" }, { "detail": "∀ a m s. MonadState s m ⇒ (s → Tuple a s) → m a", "documentation": { "kind": "markdown", "value": "\n*From: Control.Monad.RWS*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "state", "Control.Monad.RWS", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "state" }, "sortText": "Z.state", "additionalTextEdits": null, "filterText": null, "insertText": "state", "kind": 12, "label": "state" }, { "detail": "∀ a m s. MonadState s m ⇒ (s → Tuple a s) → m a", "documentation": { "kind": "markdown", "value": "\n*From: Control.Monad.State*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "state", "Control.Monad.State", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "state" }, "sortText": "Z.state", "additionalTextEdits": null, "filterText": null, "insertText": "state", "kind": 12, "label": "state" }, { "detail": "∀ a m s. MonadState s m ⇒ (s → Tuple a s) → m a", "documentation": { "kind": "markdown", "value": "\n*From: Control.Monad.State.Class*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "state", "Control.Monad.State.Class", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "state" }, "sortText": "Z.state", "additionalTextEdits": null, "filterText": null, "insertText": "state", "kind": 12, "label": "state" }, { "detail": "∀ a m s. MonadState s m ⇒ (s → Tuple a s) → m a", "documentation": { "kind": "markdown", "value": "\n*From: Control.Monad.State.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "state", "Control.Monad.State.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "state" }, "sortText": "Z.state", "additionalTextEdits": null, "filterText": null, "insertText": "state", "kind": 12, "label": "state" }, { "detail": "∀ m f. Parallel f m ⇒ (∀ a. f a → m a)", "documentation": { "kind": "markdown", "value": "\n*From: Control.Parallel*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sequential", "Control.Parallel", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "sequential" }, "sortText": "Z.sequential", "additionalTextEdits": null, "filterText": null, "insertText": "sequential", "kind": 12, "label": "sequential" }, { "detail": "∀ m f. Parallel f m ⇒ (∀ a. f a → m a)", "documentation": { "kind": "markdown", "value": "\n*From: Control.Parallel.Class*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sequential", "Control.Parallel.Class", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "sequential" }, "sortText": "Z.sequential", "additionalTextEdits": null, "filterText": null, "insertText": "sequential", "kind": 12, "label": "sequential" }, { "detail": "∀ a. a → Array a", "documentation": { "kind": "markdown", "value": "Create an array of one element\n```purescript\nsingleton 2 = [2]\n```\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "singleton", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "singleton" }, "sortText": "Z.singleton", "additionalTextEdits": null, "filterText": null, "insertText": "singleton", "kind": 12, "label": "singleton" }, { "detail": "∀ f a. Alternative f ⇒ Lazy (f (Array a)) ⇒ f a → f (Array a)", "documentation": { "kind": "markdown", "value": "Attempt a computation multiple times, requiring at least one success.\n\nThe `Lazy` constraint is used to generate the result lazily, to ensure\ntermination.\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "some", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "some" }, "sortText": "Z.some", "additionalTextEdits": null, "filterText": null, "insertText": "some", "kind": 12, "label": "some" }, { "detail": "∀ a. Array a → a → Array a", "documentation": { "kind": "markdown", "value": "Append an element to the end of an array, creating a new array.\n\n```purescript\nsnoc [1, 2, 3] 4 = [1, 2, 3, 4]\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "snoc", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "snoc" }, "sortText": "Z.snoc", "additionalTextEdits": null, "filterText": null, "insertText": "snoc", "kind": 12, "label": "snoc" }, { "detail": "∀ a. Ord a ⇒ Array a → Array a", "documentation": { "kind": "markdown", "value": "Sort the elements of an array in increasing order, creating a new array.\n\n```purescript\nsort [2, -3, 1] = [-3, 1, 2]\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sort", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "sort" }, "sortText": "Z.sort", "additionalTextEdits": null, "filterText": null, "insertText": "sort", "kind": 12, "label": "sort" }, { "detail": "∀ a. (a → a → Ordering) → Array a → Array a", "documentation": { "kind": "markdown", "value": "Sort the elements of an array in increasing order, where elements are\ncompared using the specified partial ordering, creating a new array.\n\n```purescript\ncompareLength a b = compare (length a) (length b)\nsortBy compareLength [[1, 2, 3], [7, 9], [-2]] = [[-2],[7,9],[1,2,3]]\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sortBy", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "sortBy" }, "sortText": "Z.sortBy", "additionalTextEdits": null, "filterText": null, "insertText": "sortBy", "kind": 12, "label": "sortBy" }, { "detail": "∀ a b. Ord b ⇒ (a → b) → Array a → Array a", "documentation": { "kind": "markdown", "value": "Sort the elements of an array in increasing order, where elements are\nsorted based on a projection\n\n```purescript\nsortWith (_.age) [{name: \"Alice\", age: 42}, {name: \"Bob\", age: 21}]\n = [{name: \"Bob\", age: 21}, {name: \"Alice\", age: 42}]\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sortWith", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "sortWith" }, "sortText": "Z.sortWith", "additionalTextEdits": null, "filterText": null, "insertText": "sortWith", "kind": 12, "label": "sortWith" }, { "detail": "∀ a. Int → Int → Array a → Array a", "documentation": { "kind": "markdown", "value": "Extract a subarray by a start and end index.\n\n```purescript\nletters = [\"a\", \"b\", \"c\"]\nslice 1 3 letters = [\"b\", \"c\"]\nslice 5 7 letters = []\nslice 4 1 letters = []\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "slice", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "slice" }, "sortText": "Z.slice", "additionalTextEdits": null, "filterText": null, "insertText": "slice", "kind": 12, "label": "slice" }, { "detail": "∀ a. (a → Boolean) → Array a → { init ∷ Array a , rest ∷ Array a }", "documentation": { "kind": "markdown", "value": "Split an array into two parts:\n\n1. the longest initial subarray for which all elements satisfy the\n specified predicate\n2. the remaining elements\n\n```purescript\nspan (\\n -> n % 2 == 1) [1,3,2,4,5] == { init: [1,3], rest: [2,4,5] }\n```\n\nRunning time: `O(n)`.\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "span", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "span" }, "sortText": "Z.span", "additionalTextEdits": null, "filterText": null, "insertText": "span", "kind": 12, "label": "span" }, { "detail": "∀ a b f. Traversable f ⇒ (b → a → b) → b → f a → f b", "documentation": { "kind": "markdown", "value": "Fold a data structure from the left, keeping all intermediate results\ninstead of only the final result. Note that the initial value does not\nappear in the result (unlike Haskell's `Prelude.scanl`).\n\n```purescript\nscanl (+) 0 [1,2,3] = [1,3,6]\nscanl (-) 10 [1,2,3] = [9,7,4]\n```\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "scanl", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "scanl" }, "sortText": "Z.scanl", "additionalTextEdits": null, "filterText": null, "insertText": "scanl", "kind": 12, "label": "scanl" }, { "detail": "∀ a b f. Traversable f ⇒ (a → b → b) → b → f a → f b", "documentation": { "kind": "markdown", "value": "Fold a data structure from the right, keeping all intermediate results\ninstead of only the final result. Note that the initial value does not\nappear in the result (unlike Haskell's `Prelude.scanr`).\n\n```purescript\nscanr (+) 0 [1,2,3] = [6,5,3]\nscanr (flip (-)) 10 [1,2,3] = [4,5,7]\n```\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "scanr", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "scanr" }, "sortText": "Z.scanr", "additionalTextEdits": null, "filterText": null, "insertText": "scanr", "kind": 12, "label": "scanr" }, { "detail": "∀ a. a → NonEmptyArray a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "singleton", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "singleton" }, "sortText": "Z.singleton", "additionalTextEdits": null, "filterText": null, "insertText": "singleton", "kind": 12, "label": "singleton" }, { "detail": "∀ f a. Alternative f ⇒ Lazy (f (Array a)) ⇒ f a → f (NonEmptyArray a)", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "some", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "some" }, "sortText": "Z.some", "additionalTextEdits": null, "filterText": null, "insertText": "some", "kind": 12, "label": "some" }, { "detail": "∀ a. NonEmptyArray a → a → NonEmptyArray a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "snoc", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "snoc" }, "sortText": "Z.snoc", "additionalTextEdits": null, "filterText": null, "insertText": "snoc", "kind": 12, "label": "snoc" }, { "detail": "∀ a. Array a → a → NonEmptyArray a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "snoc'", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "snoc'" }, "sortText": "Z.snoc'", "additionalTextEdits": null, "filterText": null, "insertText": "snoc'", "kind": 12, "label": "snoc'" }, { "detail": "∀ a. Ord a ⇒ NonEmptyArray a → NonEmptyArray a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sort", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "sort" }, "sortText": "Z.sort", "additionalTextEdits": null, "filterText": null, "insertText": "sort", "kind": 12, "label": "sort" }, { "detail": "∀ a. (a → a → Ordering) → NonEmptyArray a → NonEmptyArray a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sortBy", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "sortBy" }, "sortText": "Z.sortBy", "additionalTextEdits": null, "filterText": null, "insertText": "sortBy", "kind": 12, "label": "sortBy" }, { "detail": "∀ a b. Ord b ⇒ (a → b) → NonEmptyArray a → NonEmptyArray a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sortWith", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "sortWith" }, "sortText": "Z.sortWith", "additionalTextEdits": null, "filterText": null, "insertText": "sortWith", "kind": 12, "label": "sortWith" }, { "detail": "∀ a. Int → Int → NonEmptyArray a → Array a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "slice", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "slice" }, "sortText": "Z.slice", "additionalTextEdits": null, "filterText": null, "insertText": "slice", "kind": 12, "label": "slice" }, { "detail": "∀ a. (a → Boolean) → NonEmptyArray a → { init ∷ Array a , rest ∷ Array a }", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "span", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "span" }, "sortText": "Z.span", "additionalTextEdits": null, "filterText": null, "insertText": "span", "kind": 12, "label": "span" }, { "detail": "∀ h a. STArray h a → ST h (Maybe a)", "documentation": { "kind": "markdown", "value": "Remove the first element from an array and return that element.\n\n*From: Data.Array.ST*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "shift", "Data.Array.ST", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "shift" }, "sortText": "Z.shift", "additionalTextEdits": null, "filterText": null, "insertText": "shift", "kind": 12, "label": "shift" }, { "detail": "∀ h a. Int → Int → Array a → STArray h a → ST h (Array a)", "documentation": { "kind": "markdown", "value": "Remove and/or insert elements from/into a mutable array at the specified index.\n\n*From: Data.Array.ST*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "splice", "Data.Array.ST", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "splice" }, "sortText": "Z.splice", "additionalTextEdits": null, "filterText": null, "insertText": "splice", "kind": 12, "label": "splice" }, { "detail": "∀ a h. Ord a ⇒ STArray h a → ST h (STArray h a)", "documentation": { "kind": "markdown", "value": "Sort a mutable array in place.\n\n*From: Data.Array.ST*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sort", "Data.Array.ST", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "sort" }, "sortText": "Z.sort", "additionalTextEdits": null, "filterText": null, "insertText": "sort", "kind": 12, "label": "sort" }, { "detail": "∀ a h. (a → a → Ordering) → STArray h a → ST h (STArray h a)", "documentation": { "kind": "markdown", "value": "Sort a mutable array in place using a comparison function.\n\n*From: Data.Array.ST*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sortBy", "Data.Array.ST", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "sortBy" }, "sortText": "Z.sortBy", "additionalTextEdits": null, "filterText": null, "insertText": "sortBy", "kind": 12, "label": "sortBy" }, { "detail": "∀ a b h. Ord b ⇒ (a → b) → STArray h a → ST h (STArray h a)", "documentation": { "kind": "markdown", "value": "Sort a mutable array in place based on a projection.\n\n*From: Data.Array.ST*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sortWith", "Data.Array.ST", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "sortWith" }, "sortText": "Z.sortWith", "additionalTextEdits": null, "filterText": null, "insertText": "sortWith", "kind": 12, "label": "sortWith" }, { "detail": "BigInt → Number → BigInt", "documentation": { "kind": "markdown", "value": "shift the bits left and zero fill.\n\n*From: Data.BigInt*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "shl", "Data.BigInt", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "shl" }, "sortText": "Z.shl", "additionalTextEdits": null, "filterText": null, "insertText": "shl", "kind": 12, "label": "shl" }, { "detail": "BigInt → Number → BigInt", "documentation": { "kind": "markdown", "value": "Shift the bits right and maintain pos/neg.\n\n*From: Data.BigInt*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "shr", "Data.BigInt", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "shr" }, "sortText": "Z.shr", "additionalTextEdits": null, "filterText": null, "insertText": "shr", "kind": 12, "label": "shr" }, { "detail": "∀ a. a → CatList a", "documentation": { "kind": "markdown", "value": "Create a catenable list with a single item.\n\nRunning time: `O(1)`\n\n*From: Data.CatList*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "singleton", "Data.CatList", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "singleton" }, "sortText": "Z.singleton", "additionalTextEdits": null, "filterText": null, "insertText": "singleton", "kind": 12, "label": "singleton" }, { "detail": "∀ a. CatList a → a → CatList a", "documentation": { "kind": "markdown", "value": "Append an element to the end of the catenable list, creating a new\ncatenable list.\n\nRunning time: `O(1)`\n\n*From: Data.CatList*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "snoc", "Data.CatList", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "snoc" }, "sortText": "Z.snoc", "additionalTextEdits": null, "filterText": null, "insertText": "snoc", "kind": 12, "label": "snoc" }, { "detail": "∀ a. a → CatQueue a", "documentation": { "kind": "markdown", "value": "Create a queue containing a single element.\n\nRunning time: `O(1)`\n\n*From: Data.CatQueue*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "singleton", "Data.CatQueue", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "singleton" }, "sortText": "Z.singleton", "additionalTextEdits": null, "filterText": null, "insertText": "singleton", "kind": 12, "label": "singleton" }, { "detail": "∀ a. CatQueue a → a → CatQueue a", "documentation": { "kind": "markdown", "value": "Append an element to the end of the queue, creating a new queue.\n\nRunning time: `O(1)`\n\n*From: Data.CatQueue*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "snoc", "Data.CatQueue", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "snoc" }, "sortText": "Z.snoc", "additionalTextEdits": null, "filterText": null, "insertText": "snoc", "kind": 12, "label": "snoc" }, { "detail": "Time → Second", "documentation": { "kind": "markdown", "value": "The second component of a time value.\n\n*From: Data.DateTime*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "second", "Data.DateTime", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "second" }, "sortText": "Z.second", "additionalTextEdits": null, "filterText": null, "insertText": "second", "kind": 12, "label": "second" }, { "detail": "Hour → Time → Time", "documentation": { "kind": "markdown", "value": "Alters the hour component of a time value.\n\n*From: Data.DateTime*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "setHour", "Data.DateTime", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "setHour" }, "sortText": "Z.setHour", "additionalTextEdits": null, "filterText": null, "insertText": "setHour", "kind": 12, "label": "setHour" }, { "detail": "Millisecond → Time → Time", "documentation": { "kind": "markdown", "value": "Alters the millisecond component of a time value.\n\n*From: Data.DateTime*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "setMillisecond", "Data.DateTime", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "setMillisecond" }, "sortText": "Z.setMillisecond", "additionalTextEdits": null, "filterText": null, "insertText": "setMillisecond", "kind": 12, "label": "setMillisecond" }, { "detail": "Minute → Time → Time", "documentation": { "kind": "markdown", "value": "Alters the minute component of a time value.\n\n*From: Data.DateTime*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "setMinute", "Data.DateTime", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "setMinute" }, "sortText": "Z.setMinute", "additionalTextEdits": null, "filterText": null, "insertText": "setMinute", "kind": 12, "label": "setMinute" }, { "detail": "Second → Time → Time", "documentation": { "kind": "markdown", "value": "Alters the second component of a time value.\n\n*From: Data.DateTime*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "setSecond", "Data.DateTime", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "setSecond" }, "sortText": "Z.setSecond", "additionalTextEdits": null, "filterText": null, "insertText": "setSecond", "kind": 12, "label": "setSecond" }, { "detail": "∀ a. Ring a ⇒ a → a → a", "documentation": { "kind": "markdown", "value": "\n*From: Data.DivisionRing*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sub", "Data.DivisionRing", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "sub" }, "sortText": "Z.sub", "additionalTextEdits": null, "filterText": null, "insertText": "sub", "kind": 12, "label": "sub" }, { "detail": "∀ a. Enum a ⇒ a → Maybe a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Enum*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "succ", "Data.Enum", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "succ" }, "sortText": "Z.succ", "additionalTextEdits": null, "filterText": null, "insertText": "succ", "kind": 12, "label": "succ" }, { "detail": "∀ a. Ring a ⇒ a → a → a", "documentation": { "kind": "markdown", "value": "\n*From: Data.EuclideanRing*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sub", "Data.EuclideanRing", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "sub" }, "sortText": "Z.sub", "additionalTextEdits": null, "filterText": null, "insertText": "sub", "kind": 12, "label": "sub" }, { "detail": "∀ a. Ring a ⇒ a → a → a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Field*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sub", "Data.Field", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "sub" }, "sortText": "Z.sub", "additionalTextEdits": null, "filterText": null, "insertText": "sub", "kind": 12, "label": "sub" }, { "detail": "∀ a f m. Applicative m ⇒ Foldable f ⇒ f (m a) → m Unit", "documentation": { "kind": "markdown", "value": "Perform all of the effects in some data structure in the order\ngiven by the `Foldable` instance, ignoring the final result.\n\nFor example:\n\n```purescript\nsequence_ [ trace \"Hello, \", trace \" world!\" ]\n```\n\n*From: Data.Foldable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sequence_", "Data.Foldable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "sequence_" }, "sortText": "Z.sequence_", "additionalTextEdits": null, "filterText": null, "insertText": "sequence_", "kind": 12, "label": "sequence_" }, { "detail": "∀ f a m. Foldable f ⇒ Semigroup m ⇒ m → (a → m) → f a → m", "documentation": { "kind": "markdown", "value": "`foldMap` but with each element surrounded by some fixed value.\n\nFor example:\n\n```purescript\n> surroundMap \"*\" show []\n= \"*\"\n\n> surroundMap \"*\" show [1]\n= \"*1*\"\n\n> surroundMap \"*\" show [1, 2]\n= \"*1*2*\"\n\n> surroundMap \"*\" show [1, 2, 3]\n= \"*1*2*3*\"\n```\n\n*From: Data.Foldable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "surroundMap", "Data.Foldable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "surroundMap" }, "sortText": "Z.surroundMap", "additionalTextEdits": null, "filterText": null, "insertText": "surroundMap", "kind": 12, "label": "surroundMap" }, { "detail": "∀ f m. Foldable f ⇒ Semigroup m ⇒ m → f m → m", "documentation": { "kind": "markdown", "value": "`fold` but with each element surrounded by some fixed value.\n\nFor example:\n\n```purescript\n> surround \"*\" []\n= \"*\"\n\n> surround \"*\" [\"1\"]\n= \"*1*\"\n\n> surround \"*\" [\"1\", \"2\"]\n= \"*1*2*\"\n\n> surround \"*\" [\"1\", \"2\", \"3\"]\n= \"*1*2*3*\"\n```\n\n*From: Data.Foldable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "surround", "Data.Foldable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "surround" }, "sortText": "Z.surround", "additionalTextEdits": null, "filterText": null, "insertText": "surround", "kind": 12, "label": "surround" }, { "detail": "∀ a f. Foldable f ⇒ Semiring a ⇒ f a → a", "documentation": { "kind": "markdown", "value": "Find the sum of the numeric values in a data structure.\n\n*From: Data.Foldable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sum", "Data.Foldable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "sum" }, "sortText": "Z.sum", "additionalTextEdits": null, "filterText": null, "insertText": "sum", "kind": 12, "label": "sum" }, { "detail": "∀ i f a m. FoldableWithIndex i f ⇒ Semigroup m ⇒ m → (i → a → m) → f a → m", "documentation": { "kind": "markdown", "value": "`foldMapWithIndex` but with each element surrounded by some fixed value.\n\nFor example:\n\n```purescript\n> surroundMapWithIndex \"*\" (\\i x -> show i <> x) []\n= \"*\"\n\n> surroundMapWithIndex \"*\" (\\i x -> show i <> x) [\"a\"]\n= \"*0a*\"\n\n> surroundMapWithIndex \"*\" (\\i x -> show i <> x) [\"a\", \"b\"]\n= \"*0a*1b*\"\n\n> surroundMapWithIndex \"*\" (\\i x -> show i <> x) [\"a\", \"b\", \"c\"]\n= \"*0a*1b*2c*\"\n```\n\n*From: Data.FoldableWithIndex*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "surroundMapWithIndex", "Data.FoldableWithIndex", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "surroundMapWithIndex" }, "sortText": "Z.surroundMapWithIndex", "additionalTextEdits": null, "filterText": null, "insertText": "surroundMapWithIndex", "kind": 12, "label": "surroundMapWithIndex" }, { "detail": "Int → Int → Int", "documentation": { "kind": "markdown", "value": "Bitwise shift left.\n\n*From: Data.Int.Bits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "shl", "Data.Int.Bits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "shl" }, "sortText": "Z.shl", "additionalTextEdits": null, "filterText": null, "insertText": "shl", "kind": 12, "label": "shl" }, { "detail": "Int → Int → Int", "documentation": { "kind": "markdown", "value": "Bitwise shift right.\n\n*From: Data.Int.Bits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "shr", "Data.Int.Bits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "shr" }, "sortText": "Z.shr", "additionalTextEdits": null, "filterText": null, "insertText": "shr", "kind": 12, "label": "shr" }, { "detail": "Number → Duration", "documentation": { "kind": "markdown", "value": "\n*From: Data.Interval*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "second", "Data.Interval", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "second" }, "sortText": "Z.second", "additionalTextEdits": null, "filterText": null, "insertText": "second", "kind": 12, "label": "second" }, { "detail": "Number → Duration", "documentation": { "kind": "markdown", "value": "\n*From: Data.Interval.Duration*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "second", "Data.Interval.Duration", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "second" }, "sortText": "Z.second", "additionalTextEdits": null, "filterText": null, "insertText": "second", "kind": 12, "label": "second" }, { "detail": "∀ a. a → List a", "documentation": { "kind": "markdown", "value": "Create a list with a single element.\n\nRunning time: `O(1)`\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "singleton", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "singleton" }, "sortText": "Z.singleton", "additionalTextEdits": null, "filterText": null, "insertText": "singleton", "kind": 12, "label": "singleton" }, { "detail": "∀ f a. Alternative f ⇒ Lazy (f (List a)) ⇒ f a → f (List a)", "documentation": { "kind": "markdown", "value": "Attempt a computation multiple times, requiring at least one success.\n\nThe `Lazy` constraint is used to generate the result lazily, to ensure\ntermination.\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "some", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "some" }, "sortText": "Z.some", "additionalTextEdits": null, "filterText": null, "insertText": "some", "kind": 12, "label": "some" }, { "detail": "∀ f a. MonadRec f ⇒ Alternative f ⇒ f a → f (List a)", "documentation": { "kind": "markdown", "value": "A stack-safe version of `some`, at the cost of a `MonadRec` constraint.\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "someRec", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "someRec" }, "sortText": "Z.someRec", "additionalTextEdits": null, "filterText": null, "insertText": "someRec", "kind": 12, "label": "someRec" }, { "detail": "∀ a. List a → a → List a", "documentation": { "kind": "markdown", "value": "Append an element to the end of a list, creating a new list.\n\nRunning time: `O(n)`\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "snoc", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "snoc" }, "sortText": "Z.snoc", "additionalTextEdits": null, "filterText": null, "insertText": "snoc", "kind": 12, "label": "snoc" }, { "detail": "∀ a. Ord a ⇒ List a → List a", "documentation": { "kind": "markdown", "value": "Sort the elements of an list in increasing order.\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sort", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "sort" }, "sortText": "Z.sort", "additionalTextEdits": null, "filterText": null, "insertText": "sort", "kind": 12, "label": "sort" }, { "detail": "∀ a. (a → a → Ordering) → List a → List a", "documentation": { "kind": "markdown", "value": "Sort the elements of a list in increasing order, where elements are\ncompared using the specified ordering.\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sortBy", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "sortBy" }, "sortText": "Z.sortBy", "additionalTextEdits": null, "filterText": null, "insertText": "sortBy", "kind": 12, "label": "sortBy" }, { "detail": "∀ a. Eq a ⇒ Pattern a → List a → Maybe (List a)", "documentation": { "kind": "markdown", "value": "If the list starts with the given prefix, return the portion of the\nlist left after removing it, as a Just value. Otherwise, return Nothing.\n* `stripPrefix (Pattern (1:Nil)) (1:2:Nil) == Just (2:Nil)`\n* `stripPrefix (Pattern Nil) (1:Nil) == Just (1:Nil)`\n* `stripPrefix (Pattern (2:Nil)) (1:Nil) == Nothing`\n\nRunning time: `O(n)` where `n` is the number of elements to strip.\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "stripPrefix", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "stripPrefix" }, "sortText": "Z.stripPrefix", "additionalTextEdits": null, "filterText": null, "insertText": "stripPrefix", "kind": 12, "label": "stripPrefix" }, { "detail": "Int → Int → List ~> List", "documentation": { "kind": "markdown", "value": "Extract a sublist by a start and end index.\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "slice", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "slice" }, "sortText": "Z.slice", "additionalTextEdits": null, "filterText": null, "insertText": "slice", "kind": 12, "label": "slice" }, { "detail": "∀ a. (a → Boolean) → List a → { init ∷ List a , rest ∷ List a }", "documentation": { "kind": "markdown", "value": "Split a list into two parts:\n\n1. the longest initial segment for which all elements satisfy the specified predicate\n2. the remaining elements\n\nFor example,\n\n```purescript\nspan (\\n -> n % 2 == 1) (1 : 3 : 2 : 4 : 5 : Nil) == { init: (1 : 3 : Nil), rest: (2 : 4 : 5 : Nil) }\n```\n\nRunning time: `O(n)`\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "span", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "span" }, "sortText": "Z.span", "additionalTextEdits": null, "filterText": null, "insertText": "span", "kind": 12, "label": "span" }, { "detail": "∀ a b f. Traversable f ⇒ (b → a → b) → b → f a → f b", "documentation": { "kind": "markdown", "value": "Fold a data structure from the left, keeping all intermediate results\ninstead of only the final result. Note that the initial value does not\nappear in the result (unlike Haskell's `Prelude.scanl`).\n\n```purescript\nscanl (+) 0 [1,2,3] = [1,3,6]\nscanl (-) 10 [1,2,3] = [9,7,4]\n```\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "scanl", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "scanl" }, "sortText": "Z.scanl", "additionalTextEdits": null, "filterText": null, "insertText": "scanl", "kind": 12, "label": "scanl" }, { "detail": "∀ a b f. Traversable f ⇒ (a → b → b) → b → f a → f b", "documentation": { "kind": "markdown", "value": "Fold a data structure from the right, keeping all intermediate results\ninstead of only the final result. Note that the initial value does not\nappear in the result (unlike Haskell's `Prelude.scanr`).\n\n```purescript\nscanr (+) 0 [1,2,3] = [6,5,3]\nscanr (flip (-)) 10 [1,2,3] = [4,5,7]\n```\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "scanr", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "scanr" }, "sortText": "Z.scanr", "additionalTextEdits": null, "filterText": null, "insertText": "scanr", "kind": 12, "label": "scanr" }, { "detail": "∀ a. a → List a", "documentation": { "kind": "markdown", "value": "Create a list with a single element.\n\nRunning time: `O(1)`\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "singleton", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "singleton" }, "sortText": "Z.singleton", "additionalTextEdits": null, "filterText": null, "insertText": "singleton", "kind": 12, "label": "singleton" }, { "detail": "∀ f a. Alternative f ⇒ Lazy (f (List a)) ⇒ f a → f (List a)", "documentation": { "kind": "markdown", "value": "Attempt a computation multiple times, requiring at least one success.\n\nThe `Lazy` constraint is used to generate the result lazily, to ensure\ntermination.\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "some", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "some" }, "sortText": "Z.some", "additionalTextEdits": null, "filterText": null, "insertText": "some", "kind": 12, "label": "some" }, { "detail": "∀ a. List a → a → List a", "documentation": { "kind": "markdown", "value": "Append an element to the end of a list, creating a new list.\n\nRunning time: `O(n)`\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "snoc", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "snoc" }, "sortText": "Z.snoc", "additionalTextEdits": null, "filterText": null, "insertText": "snoc", "kind": 12, "label": "snoc" }, { "detail": "∀ a. Eq a ⇒ Pattern a → List a → Maybe (List a)", "documentation": { "kind": "markdown", "value": "If the list starts with the given prefix, return the portion of the\nlist left after removing it, as a Just value. Otherwise, return Nothing.\n* `stripPrefix (Pattern (fromFoldable [1])) (fromFoldable [1,2]) == Just (fromFoldable [2])`\n* `stripPrefix (Pattern (fromFoldable [])) (fromFoldable [1]) == Just (fromFoldable [1])`\n* `stripPrefix (Pattern (fromFoldable [2])) (fromFoldable [1]) == Nothing`\n\nRunning time: `O(n)` where `n` is the number of elements to strip.\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "stripPrefix", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "stripPrefix" }, "sortText": "Z.stripPrefix", "additionalTextEdits": null, "filterText": null, "insertText": "stripPrefix", "kind": 12, "label": "stripPrefix" }, { "detail": "Int → Int → List ~> List", "documentation": { "kind": "markdown", "value": "Extract a sublist by a start and end index.\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "slice", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "slice" }, "sortText": "Z.slice", "additionalTextEdits": null, "filterText": null, "insertText": "slice", "kind": 12, "label": "slice" }, { "detail": "∀ a. (a → Boolean) → List a → { init ∷ List a , rest ∷ List a }", "documentation": { "kind": "markdown", "value": "Split a list into two parts:\n\n1. the longest initial segment for which all elements satisfy the specified predicate\n2. the remaining elements\n\nFor example,\n\n```purescript\nspan (\\n -> n % 2 == 1) (1 : 3 : 2 : 4 : 5 : Nil) == Tuple (1 : 3 : Nil) (2 : 4 : 5 : Nil)\n```\n\nRunning time: `O(n)`\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "span", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "span" }, "sortText": "Z.span", "additionalTextEdits": null, "filterText": null, "insertText": "span", "kind": 12, "label": "span" }, { "detail": "∀ a b. (a → b → b) → b → List a → List b", "documentation": { "kind": "markdown", "value": "Perform a right scan lazily\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "scanrLazy", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "scanrLazy" }, "sortText": "Z.scanrLazy", "additionalTextEdits": null, "filterText": null, "insertText": "scanrLazy", "kind": 12, "label": "scanrLazy" }, { "detail": "∀ a b f. Traversable f ⇒ (b → a → b) → b → f a → f b", "documentation": { "kind": "markdown", "value": "Fold a data structure from the left, keeping all intermediate results\ninstead of only the final result. Note that the initial value does not\nappear in the result (unlike Haskell's `Prelude.scanl`).\n\n```purescript\nscanl (+) 0 [1,2,3] = [1,3,6]\nscanl (-) 10 [1,2,3] = [9,7,4]\n```\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "scanl", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "scanl" }, "sortText": "Z.scanl", "additionalTextEdits": null, "filterText": null, "insertText": "scanl", "kind": 12, "label": "scanl" }, { "detail": "∀ a b f. Traversable f ⇒ (a → b → b) → b → f a → f b", "documentation": { "kind": "markdown", "value": "Fold a data structure from the right, keeping all intermediate results\ninstead of only the final result. Note that the initial value does not\nappear in the result (unlike Haskell's `Prelude.scanr`).\n\n```purescript\nscanr (+) 0 [1,2,3] = [6,5,3]\nscanr (flip (-)) 10 [1,2,3] = [4,5,7]\n```\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "scanr", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "scanr" }, "sortText": "Z.scanr", "additionalTextEdits": null, "filterText": null, "insertText": "scanr", "kind": 12, "label": "scanr" }, { "detail": "∀ a. List a → Step a", "documentation": { "kind": "markdown", "value": "Unwrap a lazy linked list\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "step", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "step" }, "sortText": "Z.step", "additionalTextEdits": null, "filterText": null, "insertText": "step", "kind": 12, "label": "step" }, { "detail": "∀ a. a → NonEmptyList a", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.Lazy.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "singleton", "Data.List.Lazy.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "singleton" }, "sortText": "Z.singleton", "additionalTextEdits": null, "filterText": null, "insertText": "singleton", "kind": 12, "label": "singleton" }, { "detail": "∀ a. List a → Step a", "documentation": { "kind": "markdown", "value": "Unwrap a lazy linked list\n\n*From: Data.List.Lazy.Types*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "step", "Data.List.Lazy.Types", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "step" }, "sortText": "Z.step", "additionalTextEdits": null, "filterText": null, "insertText": "step", "kind": 12, "label": "step" }, { "detail": "∀ a. a → NonEmptyList a", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "singleton", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "singleton" }, "sortText": "Z.singleton", "additionalTextEdits": null, "filterText": null, "insertText": "singleton", "kind": 12, "label": "singleton" }, { "detail": "∀ a. NonEmptyList a → a → NonEmptyList a", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "snoc", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "snoc" }, "sortText": "Z.snoc", "additionalTextEdits": null, "filterText": null, "insertText": "snoc", "kind": 12, "label": "snoc" }, { "detail": "∀ a. List a → a → NonEmptyList a", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "snoc'", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "snoc'" }, "sortText": "Z.snoc'", "additionalTextEdits": null, "filterText": null, "insertText": "snoc'", "kind": 12, "label": "snoc'" }, { "detail": "∀ a. Ord a ⇒ NonEmptyList a → NonEmptyList a", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sort", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "sort" }, "sortText": "Z.sort", "additionalTextEdits": null, "filterText": null, "insertText": "sort", "kind": 12, "label": "sort" }, { "detail": "∀ a. (a → a → Ordering) → NonEmptyList a → NonEmptyList a", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sortBy", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "sortBy" }, "sortText": "Z.sortBy", "additionalTextEdits": null, "filterText": null, "insertText": "sortBy", "kind": 12, "label": "sortBy" }, { "detail": "∀ a. (a → Boolean) → NonEmptyList a → { init ∷ List a , rest ∷ List a }", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "span", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "span" }, "sortText": "Z.span", "additionalTextEdits": null, "filterText": null, "insertText": "span", "kind": 12, "label": "span" }, { "detail": "∀ a b f. Traversable f ⇒ (b → a → b) → b → f a → f b", "documentation": { "kind": "markdown", "value": "Fold a data structure from the left, keeping all intermediate results\ninstead of only the final result. Note that the initial value does not\nappear in the result (unlike Haskell's `Prelude.scanl`).\n\n```purescript\nscanl (+) 0 [1,2,3] = [1,3,6]\nscanl (-) 10 [1,2,3] = [9,7,4]\n```\n\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "scanl", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "scanl" }, "sortText": "Z.scanl", "additionalTextEdits": null, "filterText": null, "insertText": "scanl", "kind": 12, "label": "scanl" }, { "detail": "∀ a b f. Traversable f ⇒ (a → b → b) → b → f a → f b", "documentation": { "kind": "markdown", "value": "Fold a data structure from the right, keeping all intermediate results\ninstead of only the final result. Note that the initial value does not\nappear in the result (unlike Haskell's `Prelude.scanr`).\n\n```purescript\nscanr (+) 0 [1,2,3] = [6,5,3]\nscanr (flip (-)) 10 [1,2,3] = [4,5,7]\n```\n\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "scanr", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "scanr" }, "sortText": "Z.scanr", "additionalTextEdits": null, "filterText": null, "insertText": "scanr", "kind": 12, "label": "scanr" }, { "detail": "∀ b f t. Traversable1 t ⇒ Apply f ⇒ t (f b) → f (t b)", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sequence1", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "sequence1" }, "sortText": "Z.sequence1", "additionalTextEdits": null, "filterText": null, "insertText": "sequence1", "kind": 12, "label": "sequence1" }, { "detail": "∀ t f a. Foldable1 t ⇒ Apply f ⇒ t (f a) → f Unit", "documentation": { "kind": "markdown", "value": "Perform all of the effects in some data structure in the order\ngiven by the `Foldable1` instance, ignoring the final result.\n\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sequence1_", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "sequence1_" }, "sortText": "Z.sequence1_", "additionalTextEdits": null, "filterText": null, "insertText": "sequence1_", "kind": 12, "label": "sequence1_" }, { "detail": "∀ k v. Show k ⇒ Show v ⇒ Map k v → String", "documentation": { "kind": "markdown", "value": "Render a `Map` as a `String`\n\n*From: Data.Map*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "showTree", "Data.Map", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "showTree" }, "sortText": "Z.showTree", "additionalTextEdits": null, "filterText": null, "insertText": "showTree", "kind": 12, "label": "showTree" }, { "detail": "∀ k v. k → v → Map k v", "documentation": { "kind": "markdown", "value": "Create a map with one key/value pair\n\n*From: Data.Map*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "singleton", "Data.Map", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "singleton" }, "sortText": "Z.singleton", "additionalTextEdits": null, "filterText": null, "insertText": "singleton", "kind": 12, "label": "singleton" }, { "detail": "∀ k v. Map k v → Int", "documentation": { "kind": "markdown", "value": "Calculate the number of key/value pairs in a map\n\n*From: Data.Map*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "size", "Data.Map", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "size" }, "sortText": "Z.size", "additionalTextEdits": null, "filterText": null, "insertText": "size", "kind": 12, "label": "size" }, { "detail": "∀ k v. Ord k ⇒ Maybe k → Maybe k → Map k v → Map k v", "documentation": { "kind": "markdown", "value": "Returns a new map containing all entries of the given map which lie\nbetween a given lower and upper bound, treating `Nothing` as no bound i.e.\nincluding the smallest (or largest) key in the map, no matter how small\n(or large) it is. For example:\n\n```purescript\nsubmap (Just 1) (Just 2)\n (fromFoldable [Tuple 0 \"zero\", Tuple 1 \"one\", Tuple 2 \"two\", Tuple 3 \"three\"])\n == fromFoldable [Tuple 1 \"one\", Tuple 2 \"two\"]\n\nsubmap Nothing (Just 2)\n (fromFoldable [Tuple 0 \"zero\", Tuple 1 \"one\", Tuple 2 \"two\", Tuple 3 \"three\"])\n == fromFoldable [Tuple 0 \"zero\", Tuple 1 \"one\", Tuple 2 \"two\"]\n```\n\nThe function is entirely specified by the following\nproperty:\n\n```purescript\nGiven any m :: Map k v, mmin :: Maybe k, mmax :: Maybe k, key :: k,\n let m' = submap mmin mmax m in\n if (maybe true (\\min -> min <= key) mmin &&\n maybe true (\\max -> max >= key) mmax)\n then lookup key m == lookup key m'\n else not (member key m')\n```\n\n*From: Data.Map*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "submap", "Data.Map", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "submap" }, "sortText": "Z.submap", "additionalTextEdits": null, "filterText": null, "insertText": "submap", "kind": 12, "label": "submap" }, { "detail": "∀ k v. Show k ⇒ Show v ⇒ Map k v → String", "documentation": { "kind": "markdown", "value": "Render a `Map` as a `String`\n\n*From: Data.Map.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "showTree", "Data.Map.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "showTree" }, "sortText": "Z.showTree", "additionalTextEdits": null, "filterText": null, "insertText": "showTree", "kind": 12, "label": "showTree" }, { "detail": "∀ k v. k → v → Map k v", "documentation": { "kind": "markdown", "value": "Create a map with one key/value pair\n\n*From: Data.Map.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "singleton", "Data.Map.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "singleton" }, "sortText": "Z.singleton", "additionalTextEdits": null, "filterText": null, "insertText": "singleton", "kind": 12, "label": "singleton" }, { "detail": "∀ k v. Ord k ⇒ Maybe k → Maybe k → Map k v → Map k v", "documentation": { "kind": "markdown", "value": "Returns a new map containing all entries of the given map which lie\nbetween a given lower and upper bound, treating `Nothing` as no bound i.e.\nincluding the smallest (or largest) key in the map, no matter how small\n(or large) it is. For example:\n\n```purescript\nsubmap (Just 1) (Just 2)\n (fromFoldable [Tuple 0 \"zero\", Tuple 1 \"one\", Tuple 2 \"two\", Tuple 3 \"three\"])\n == fromFoldable [Tuple 1 \"one\", Tuple 2 \"two\"]\n\nsubmap Nothing (Just 2)\n (fromFoldable [Tuple 0 \"zero\", Tuple 1 \"one\", Tuple 2 \"two\", Tuple 3 \"three\"])\n == fromFoldable [Tuple 0 \"zero\", Tuple 1 \"one\", Tuple 2 \"two\"]\n```\n\nThe function is entirely specified by the following\nproperty:\n\n```purescript\nGiven any m :: Map k v, mmin :: Maybe k, mmax :: Maybe k, key :: k,\n let m' = submap mmin mmax m in\n if (maybe true (\\min -> min <= key) mmin &&\n maybe true (\\max -> max >= key) mmax)\n then lookup key m == lookup key m'\n else not (member key m')\n```\n\n*From: Data.Map.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "submap", "Data.Map.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "submap" }, "sortText": "Z.submap", "additionalTextEdits": null, "filterText": null, "insertText": "submap", "kind": 12, "label": "submap" }, { "detail": "∀ k v. Map k v → Int", "documentation": { "kind": "markdown", "value": "Calculate the number of key/value pairs in a map\n\n*From: Data.Map.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "size", "Data.Map.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "size" }, "sortText": "Z.size", "additionalTextEdits": null, "filterText": null, "insertText": "size", "kind": 12, "label": "size" }, { "detail": "∀ f a. Plus f ⇒ a → NonEmpty f a", "documentation": { "kind": "markdown", "value": "Create a non-empty structure with a single value.\n\n*From: Data.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "singleton", "Data.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "singleton" }, "sortText": "Z.singleton", "additionalTextEdits": null, "filterText": null, "insertText": "singleton", "kind": 12, "label": "singleton" }, { "detail": "∀ a. Ord a ⇒ Ring a ⇒ a → a", "documentation": { "kind": "markdown", "value": "The sign function; always evaluates to either `one` or `negate one`. For\nany `x`, we should have `signum x * abs x == x`.\n\n*From: Data.Ord*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "signum", "Data.Ord", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "signum" }, "sortText": "Z.signum", "additionalTextEdits": null, "filterText": null, "insertText": "signum", "kind": 12, "label": "signum" }, { "detail": "∀ a. Ring a ⇒ a → a → a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Ring*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sub", "Data.Ring", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "sub" }, "sortText": "Z.sub", "additionalTextEdits": null, "filterText": null, "insertText": "sub", "kind": 12, "label": "sub" }, { "detail": "∀ subrow row rowlist. RingRecord rowlist row subrow ⇒ RLProxy rowlist → Record row → Record row → Record subrow", "documentation": { "kind": "markdown", "value": "\n*From: Data.Ring*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "subRecord", "Data.Ring", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "subRecord" }, "sortText": "Z.subRecord", "additionalTextEdits": null, "filterText": null, "insertText": "subRecord", "kind": 12, "label": "subRecord" }, { "detail": "∀ t f a. Foldable1 t ⇒ Apply f ⇒ t (f a) → f Unit", "documentation": { "kind": "markdown", "value": "Perform all of the effects in some data structure in the order\ngiven by the `Foldable1` instance, ignoring the final result.\n\n*From: Data.Semigroup.Foldable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sequence1_", "Data.Semigroup.Foldable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "sequence1_" }, "sortText": "Z.sequence1_", "additionalTextEdits": null, "filterText": null, "insertText": "sequence1_", "kind": 12, "label": "sequence1_" }, { "detail": "∀ b f t. Traversable1 t ⇒ Apply f ⇒ t (f b) → f (t b)", "documentation": { "kind": "markdown", "value": "\n*From: Data.Semigroup.Traversable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sequence1", "Data.Semigroup.Traversable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "sequence1" }, "sortText": "Z.sequence1", "additionalTextEdits": null, "filterText": null, "insertText": "sequence1", "kind": 12, "label": "sequence1" }, { "detail": "∀ t a m. Traversable1 t ⇒ Apply m ⇒ t (m a) → m (t a)", "documentation": { "kind": "markdown", "value": "A default implementation of `sequence1` using `traverse1`.\n\n*From: Data.Semigroup.Traversable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sequence1Default", "Data.Semigroup.Traversable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "sequence1Default" }, "sortText": "Z.sequence1Default", "additionalTextEdits": null, "filterText": null, "insertText": "sequence1Default", "kind": 12, "label": "sequence1Default" }, { "detail": "∀ a. a → Set a", "documentation": { "kind": "markdown", "value": "Create a set with one element\n\n*From: Data.Set*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "singleton", "Data.Set", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "singleton" }, "sortText": "Z.singleton", "additionalTextEdits": null, "filterText": null, "insertText": "singleton", "kind": 12, "label": "singleton" }, { "detail": "∀ a. Set a → Int", "documentation": { "kind": "markdown", "value": "Find the size of a set\n\n*From: Data.Set*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "size", "Data.Set", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "size" }, "sortText": "Z.size", "additionalTextEdits": null, "filterText": null, "insertText": "size", "kind": 12, "label": "size" }, { "detail": "∀ a. Ord a ⇒ Set a → Set a → Boolean", "documentation": { "kind": "markdown", "value": "True if and only if every element in the first set\nis an element of the second set\n\n*From: Data.Set*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "subset", "Data.Set", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "subset" }, "sortText": "Z.subset", "additionalTextEdits": null, "filterText": null, "insertText": "subset", "kind": 12, "label": "subset" }, { "detail": "∀ a. a → NonEmptySet a", "documentation": { "kind": "markdown", "value": "Create a set with one element.\n\n*From: Data.Set.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "singleton", "Data.Set.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "singleton" }, "sortText": "Z.singleton", "additionalTextEdits": null, "filterText": null, "insertText": "singleton", "kind": 12, "label": "singleton" }, { "detail": "∀ a. NonEmptySet a → Int", "documentation": { "kind": "markdown", "value": "Find the size of a set.\n\n*From: Data.Set.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "size", "Data.Set.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "size" }, "sortText": "Z.size", "additionalTextEdits": null, "filterText": null, "insertText": "size", "kind": 12, "label": "size" }, { "detail": "∀ a. Ord a ⇒ NonEmptySet a → NonEmptySet a → Boolean", "documentation": { "kind": "markdown", "value": "True if and only if every element in the first set is an element of the\nsecond set.\n\n*From: Data.Set.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "subset", "Data.Set.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "subset" }, "sortText": "Z.subset", "additionalTextEdits": null, "filterText": null, "insertText": "subset", "kind": 12, "label": "subset" }, { "detail": "∀ a. Show a ⇒ a → String", "documentation": { "kind": "markdown", "value": "\n*From: Data.Show*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "show", "Data.Show", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "show" }, "sortText": "Z.show", "additionalTextEdits": null, "filterText": null, "insertText": "show", "kind": 12, "label": "show" }, { "detail": "∀ row rowlist. ShowRecordFields rowlist row ⇒ RLProxy rowlist → Record row → Array String", "documentation": { "kind": "markdown", "value": "\n*From: Data.Show*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "showRecordFields", "Data.Show", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "showRecordFields" }, "sortText": "Z.showRecordFields", "additionalTextEdits": null, "filterText": null, "insertText": "showRecordFields", "kind": 12, "label": "showRecordFields" }, { "detail": "CodePoint → String", "documentation": { "kind": "markdown", "value": "Creates a string containing just the given code point. Operates in\nconstant space and time.\n\n```purescript\n>>> map singleton (codePointFromInt 0x1D400)\nJust \"𝐀\"\n```\n\n\n*From: Data.String*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "singleton", "Data.String", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "singleton" }, "sortText": "Z.singleton", "additionalTextEdits": null, "filterText": null, "insertText": "singleton", "kind": 12, "label": "singleton" }, { "detail": "Pattern → String → Array String", "documentation": { "kind": "markdown", "value": "Returns the substrings of the second string separated along occurences\nof the first string.\n\n```purescript\nsplit (Pattern \" \") \"hello world\" == [\"hello\", \"world\"]\n```\n\n*From: Data.String*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "split", "Data.String", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "split" }, "sortText": "Z.split", "additionalTextEdits": null, "filterText": null, "insertText": "split", "kind": 12, "label": "split" }, { "detail": "Int → String → { after ∷ String , before ∷ String }", "documentation": { "kind": "markdown", "value": "Splits a string into two substrings, where `before` contains the code\npoints up to (but not including) the given index, and `after` contains the\nrest of the string, from that index on.\n\n```purescript\n>>> splitAt 3 \"b 𝐀𝐀 c 𝐀\"\n{ before: \"b 𝐀\", after: \"𝐀 c 𝐀\" }\n```\n\nThus the length of `(splitAt i s).before` will equal either `i` or\n`length s`, if that is shorter. (Or if `i` is negative the length will be\n0.)\n\nIn code:\n```purescript\nlength (splitAt i s).before == min (max i 0) (length s)\n(splitAt i s).before <> (splitAt i s).after == s\nsplitAt i s == {before: take i s, after: drop i s}\n```\n\n*From: Data.String*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "splitAt", "Data.String", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "splitAt" }, "sortText": "Z.splitAt", "additionalTextEdits": null, "filterText": null, "insertText": "splitAt", "kind": 12, "label": "splitAt" }, { "detail": "Pattern → String → Maybe String", "documentation": { "kind": "markdown", "value": "If the string starts with the given prefix, return the portion of the\nstring left after removing it, as a Just value. Otherwise, return Nothing.\n\n```purescript\nstripPrefix (Pattern \"http:\") \"http://purescript.org\" == Just \"//purescript.org\"\nstripPrefix (Pattern \"http:\") \"https://purescript.org\" == Nothing\n```\n\n*From: Data.String*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "stripPrefix", "Data.String", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "stripPrefix" }, "sortText": "Z.stripPrefix", "additionalTextEdits": null, "filterText": null, "insertText": "stripPrefix", "kind": 12, "label": "stripPrefix" }, { "detail": "Pattern → String → Maybe String", "documentation": { "kind": "markdown", "value": "If the string ends with the given suffix, return the portion of the\nstring left after removing it, as a `Just` value. Otherwise, return\n`Nothing`.\n\n```purescript\nstripSuffix (Pattern \".exe\") \"psc.exe\" == Just \"psc\"\nstripSuffix (Pattern \".exe\") \"psc\" == Nothing\n```\n\n*From: Data.String*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "stripSuffix", "Data.String", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "stripSuffix" }, "sortText": "Z.stripSuffix", "additionalTextEdits": null, "filterText": null, "insertText": "stripSuffix", "kind": 12, "label": "stripSuffix" }, { "detail": "CodePoint → String", "documentation": { "kind": "markdown", "value": "Creates a string containing just the given code point. Operates in\nconstant space and time.\n\n```purescript\n>>> map singleton (codePointFromInt 0x1D400)\nJust \"𝐀\"\n```\n\n\n*From: Data.String.CodePoints*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "singleton", "Data.String.CodePoints", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "singleton" }, "sortText": "Z.singleton", "additionalTextEdits": null, "filterText": null, "insertText": "singleton", "kind": 12, "label": "singleton" }, { "detail": "Int → String → { after ∷ String , before ∷ String }", "documentation": { "kind": "markdown", "value": "Splits a string into two substrings, where `before` contains the code\npoints up to (but not including) the given index, and `after` contains the\nrest of the string, from that index on.\n\n```purescript\n>>> splitAt 3 \"b 𝐀𝐀 c 𝐀\"\n{ before: \"b 𝐀\", after: \"𝐀 c 𝐀\" }\n```\n\nThus the length of `(splitAt i s).before` will equal either `i` or\n`length s`, if that is shorter. (Or if `i` is negative the length will be\n0.)\n\nIn code:\n```purescript\nlength (splitAt i s).before == min (max i 0) (length s)\n(splitAt i s).before <> (splitAt i s).after == s\nsplitAt i s == {before: take i s, after: drop i s}\n```\n\n*From: Data.String.CodePoints*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "splitAt", "Data.String.CodePoints", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "splitAt" }, "sortText": "Z.splitAt", "additionalTextEdits": null, "filterText": null, "insertText": "splitAt", "kind": 12, "label": "splitAt" }, { "detail": "Pattern → String → Maybe String", "documentation": { "kind": "markdown", "value": "If the string starts with the given prefix, return the portion of the\nstring left after removing it, as a Just value. Otherwise, return Nothing.\n\n```purescript\nstripPrefix (Pattern \"http:\") \"http://purescript.org\" == Just \"//purescript.org\"\nstripPrefix (Pattern \"http:\") \"https://purescript.org\" == Nothing\n```\n\n*From: Data.String.CodePoints*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "stripPrefix", "Data.String.CodePoints", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "stripPrefix" }, "sortText": "Z.stripPrefix", "additionalTextEdits": null, "filterText": null, "insertText": "stripPrefix", "kind": 12, "label": "stripPrefix" }, { "detail": "Pattern → String → Maybe String", "documentation": { "kind": "markdown", "value": "If the string ends with the given suffix, return the portion of the\nstring left after removing it, as a `Just` value. Otherwise, return\n`Nothing`.\n\n```purescript\nstripSuffix (Pattern \".exe\") \"psc.exe\" == Just \"psc\"\nstripSuffix (Pattern \".exe\") \"psc\" == Nothing\n```\n\n*From: Data.String.CodePoints*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "stripSuffix", "Data.String.CodePoints", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "stripSuffix" }, "sortText": "Z.stripSuffix", "additionalTextEdits": null, "filterText": null, "insertText": "stripSuffix", "kind": 12, "label": "stripSuffix" }, { "detail": "Pattern → String → Maybe String", "documentation": { "kind": "markdown", "value": "If the string starts with the given prefix, return the portion of the\nstring left after removing it, as a Just value. Otherwise, return Nothing.\n\n```purescript\nstripPrefix (Pattern \"http:\") \"http://purescript.org\" == Just \"//purescript.org\"\nstripPrefix (Pattern \"http:\") \"https://purescript.org\" == Nothing\n```\n\n*From: Data.String.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "stripPrefix", "Data.String.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "stripPrefix" }, "sortText": "Z.stripPrefix", "additionalTextEdits": null, "filterText": null, "insertText": "stripPrefix", "kind": 12, "label": "stripPrefix" }, { "detail": "Pattern → String → Maybe String", "documentation": { "kind": "markdown", "value": "If the string ends with the given suffix, return the portion of the\nstring left after removing it, as a `Just` value. Otherwise, return\n`Nothing`.\n\n```purescript\nstripSuffix (Pattern \".exe\") \"psc.exe\" == Just \"psc\"\nstripSuffix (Pattern \".exe\") \"psc\" == Nothing\n```\n\n*From: Data.String.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "stripSuffix", "Data.String.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "stripSuffix" }, "sortText": "Z.stripSuffix", "additionalTextEdits": null, "filterText": null, "insertText": "stripSuffix", "kind": 12, "label": "stripSuffix" }, { "detail": "Char → String", "documentation": { "kind": "markdown", "value": "Returns a string of length `1` containing the given character.\n\n```purescript\nsingleton 'l' == \"l\"\n```\n\n\n*From: Data.String.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "singleton", "Data.String.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "singleton" }, "sortText": "Z.singleton", "additionalTextEdits": null, "filterText": null, "insertText": "singleton", "kind": 12, "label": "singleton" }, { "detail": "Int → Int → String → Maybe String", "documentation": { "kind": "markdown", "value": "Returns the substring at indices `[begin, end)`.\nIf either index is negative, it is normalised to `length s - index`,\nwhere `s` is the input string. `Nothing` is returned if either\nindex is out of bounds or if `begin > end` after normalisation.\n\n```purescript\nslice 0 0 \"purescript\" == Just \"\"\nslice 0 1 \"purescript\" == Just \"p\"\nslice 3 6 \"purescript\" == Just \"esc\"\nslice (-4) (-1) \"purescript\" == Just \"rip\"\nslice (-4) 3 \"purescript\" == Nothing\n```\n\n*From: Data.String.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "slice", "Data.String.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "slice" }, "sortText": "Z.slice", "additionalTextEdits": null, "filterText": null, "insertText": "slice", "kind": 12, "label": "slice" }, { "detail": "Int → String → { after ∷ String , before ∷ String }", "documentation": { "kind": "markdown", "value": "Splits a string into two substrings, where `before` contains the\ncharacters up to (but not including) the given index, and `after` contains\nthe rest of the string, from that index on.\n\n```purescript\nsplitAt 2 \"Hello World\" == { before: \"He\", after: \"llo World\"}\nsplitAt 10 \"Hi\" == { before: \"Hi\", after: \"\"}\n```\n\nThus the length of `(splitAt i s).before` will equal either `i` or\n`length s`, if that is shorter. (Or if `i` is negative the length will be\n0.)\n\nIn code:\n```purescript\nlength (splitAt i s).before == min (max i 0) (length s)\n(splitAt i s).before <> (splitAt i s).after == s\nsplitAt i s == {before: take i s, after: drop i s}\n```\n\n*From: Data.String.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "splitAt", "Data.String.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "splitAt" }, "sortText": "Z.splitAt", "additionalTextEdits": null, "filterText": null, "insertText": "splitAt", "kind": 12, "label": "splitAt" }, { "detail": "Pattern → String → Array String", "documentation": { "kind": "markdown", "value": "Returns the substrings of the second string separated along occurences\nof the first string.\n\n```purescript\nsplit (Pattern \" \") \"hello world\" == [\"hello\", \"world\"]\n```\n\n*From: Data.String.Common*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "split", "Data.String.Common", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "split" }, "sortText": "Z.split", "additionalTextEdits": null, "filterText": null, "insertText": "split", "kind": 12, "label": "split" }, { "detail": "CodePoint → NonEmptyString", "documentation": { "kind": "markdown", "value": "\n*From: Data.String.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "singleton", "Data.String.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "singleton" }, "sortText": "Z.singleton", "additionalTextEdits": null, "filterText": null, "insertText": "singleton", "kind": 12, "label": "singleton" }, { "detail": "CodePoint → String → NonEmptyString", "documentation": { "kind": "markdown", "value": "\n*From: Data.String.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "snoc", "Data.String.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "snoc" }, "sortText": "Z.snoc", "additionalTextEdits": null, "filterText": null, "insertText": "snoc", "kind": 12, "label": "snoc" }, { "detail": "Int → NonEmptyString → { after ∷ Maybe NonEmptyString , before ∷ Maybe NonEmptyString }", "documentation": { "kind": "markdown", "value": "\n*From: Data.String.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "splitAt", "Data.String.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "splitAt" }, "sortText": "Z.splitAt", "additionalTextEdits": null, "filterText": null, "insertText": "splitAt", "kind": 12, "label": "splitAt" }, { "detail": "Pattern → NonEmptyString → Maybe NonEmptyString", "documentation": { "kind": "markdown", "value": "If the string starts with the given prefix, return the portion of the\nstring left after removing it. If the prefix does not match or there is no\nremainder, the result will be `Nothing`.\n\n```purescript\nstripPrefix (Pattern \"http:\") (NonEmptyString \"http://purescript.org\") == Just (NonEmptyString \"//purescript.org\")\nstripPrefix (Pattern \"http:\") (NonEmptyString \"https://purescript.org\") == Nothing\nstripPrefix (Pattern \"Hello!\") (NonEmptyString \"Hello!\") == Nothing\n```\n\n*From: Data.String.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "stripPrefix", "Data.String.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "stripPrefix" }, "sortText": "Z.stripPrefix", "additionalTextEdits": null, "filterText": null, "insertText": "stripPrefix", "kind": 12, "label": "stripPrefix" }, { "detail": "Pattern → NonEmptyString → Maybe NonEmptyString", "documentation": { "kind": "markdown", "value": "If the string ends with the given suffix, return the portion of the\nstring left after removing it. If the suffix does not match or there is no\nremainder, the result will be `Nothing`.\n\n```purescript\nstripSuffix (Pattern \".exe\") (NonEmptyString \"purs.exe\") == Just (NonEmptyString \"purs\")\nstripSuffix (Pattern \".exe\") (NonEmptyString \"purs\") == Nothing\nstripSuffix (Pattern \"Hello!\") (NonEmptyString \"Hello!\") == Nothing\n```\n\n*From: Data.String.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "stripSuffix", "Data.String.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "stripSuffix" }, "sortText": "Z.stripSuffix", "additionalTextEdits": null, "filterText": null, "insertText": "stripSuffix", "kind": 12, "label": "stripSuffix" }, { "detail": "CodePoint → NonEmptyString", "documentation": { "kind": "markdown", "value": "\n*From: Data.String.NonEmpty.CodePoints*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "singleton", "Data.String.NonEmpty.CodePoints", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "singleton" }, "sortText": "Z.singleton", "additionalTextEdits": null, "filterText": null, "insertText": "singleton", "kind": 12, "label": "singleton" }, { "detail": "CodePoint → String → NonEmptyString", "documentation": { "kind": "markdown", "value": "\n*From: Data.String.NonEmpty.CodePoints*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "snoc", "Data.String.NonEmpty.CodePoints", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "snoc" }, "sortText": "Z.snoc", "additionalTextEdits": null, "filterText": null, "insertText": "snoc", "kind": 12, "label": "snoc" }, { "detail": "Int → NonEmptyString → { after ∷ Maybe NonEmptyString , before ∷ Maybe NonEmptyString }", "documentation": { "kind": "markdown", "value": "\n*From: Data.String.NonEmpty.CodePoints*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "splitAt", "Data.String.NonEmpty.CodePoints", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "splitAt" }, "sortText": "Z.splitAt", "additionalTextEdits": null, "filterText": null, "insertText": "splitAt", "kind": 12, "label": "splitAt" }, { "detail": "Char → NonEmptyString", "documentation": { "kind": "markdown", "value": "Creates a `NonEmptyString` from a character.\n\n*From: Data.String.NonEmpty.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "singleton", "Data.String.NonEmpty.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "singleton" }, "sortText": "Z.singleton", "additionalTextEdits": null, "filterText": null, "insertText": "singleton", "kind": 12, "label": "singleton" }, { "detail": "Char → String → NonEmptyString", "documentation": { "kind": "markdown", "value": "Creates a `NonEmptyString` from a string by appending a character.\n\n```purescript\nsnoc 'c' \"ab\" = NonEmptyString \"abc\"\nsnoc 'a' \"\" = NonEmptyString \"a\"\n```\n\n*From: Data.String.NonEmpty.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "snoc", "Data.String.NonEmpty.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "snoc" }, "sortText": "Z.snoc", "additionalTextEdits": null, "filterText": null, "insertText": "snoc", "kind": 12, "label": "snoc" }, { "detail": "Int → NonEmptyString → { after ∷ Maybe NonEmptyString , before ∷ Maybe NonEmptyString }", "documentation": { "kind": "markdown", "value": "Returns the substrings of a split at the given index, if the index is\nwithin bounds.\n\n```purescript\nsplitAt 2 (NonEmptyString \"Hello World\") == Just { before: Just (NonEmptyString \"He\"), after: Just (NonEmptyString \"llo World\") }\nsplitAt 10 (NonEmptyString \"Hi\") == Nothing\n```\n\n*From: Data.String.NonEmpty.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "splitAt", "Data.String.NonEmpty.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "splitAt" }, "sortText": "Z.splitAt", "additionalTextEdits": null, "filterText": null, "insertText": "splitAt", "kind": 12, "label": "splitAt" }, { "detail": "Pattern → NonEmptyString → Maybe NonEmptyString", "documentation": { "kind": "markdown", "value": "If the string starts with the given prefix, return the portion of the\nstring left after removing it. If the prefix does not match or there is no\nremainder, the result will be `Nothing`.\n\n```purescript\nstripPrefix (Pattern \"http:\") (NonEmptyString \"http://purescript.org\") == Just (NonEmptyString \"//purescript.org\")\nstripPrefix (Pattern \"http:\") (NonEmptyString \"https://purescript.org\") == Nothing\nstripPrefix (Pattern \"Hello!\") (NonEmptyString \"Hello!\") == Nothing\n```\n\n*From: Data.String.NonEmpty.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "stripPrefix", "Data.String.NonEmpty.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "stripPrefix" }, "sortText": "Z.stripPrefix", "additionalTextEdits": null, "filterText": null, "insertText": "stripPrefix", "kind": 12, "label": "stripPrefix" }, { "detail": "Pattern → NonEmptyString → Maybe NonEmptyString", "documentation": { "kind": "markdown", "value": "If the string ends with the given suffix, return the portion of the\nstring left after removing it. If the suffix does not match or there is no\nremainder, the result will be `Nothing`.\n\n```purescript\nstripSuffix (Pattern \".exe\") (NonEmptyString \"purs.exe\") == Just (NonEmptyString \"purs\")\nstripSuffix (Pattern \".exe\") (NonEmptyString \"purs\") == Nothing\nstripSuffix (Pattern \"Hello!\") (NonEmptyString \"Hello!\") == Nothing\n```\n\n*From: Data.String.NonEmpty.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "stripSuffix", "Data.String.NonEmpty.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "stripSuffix" }, "sortText": "Z.stripSuffix", "additionalTextEdits": null, "filterText": null, "insertText": "stripSuffix", "kind": 12, "label": "stripSuffix" }, { "detail": "Regex → String", "documentation": { "kind": "markdown", "value": "Returns the pattern string used to construct the given `Regex`.\n\n*From: Data.String.Regex*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "source", "Data.String.Regex", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "source" }, "sortText": "Z.source", "additionalTextEdits": null, "filterText": null, "insertText": "source", "kind": 12, "label": "source" }, { "detail": "Regex → String → Maybe Int", "documentation": { "kind": "markdown", "value": "Returns `Just` the index of the first match of the `Regex` in the string,\nor `Nothing` if there is no match.\n\n*From: Data.String.Regex*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "search", "Data.String.Regex", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "search" }, "sortText": "Z.search", "additionalTextEdits": null, "filterText": null, "insertText": "search", "kind": 12, "label": "search" }, { "detail": "Regex → String → Array String", "documentation": { "kind": "markdown", "value": "Split the string into an array of substrings along occurences of the `Regex`.\n\n*From: Data.String.Regex*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "split", "Data.String.Regex", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "split" }, "sortText": "Z.split", "additionalTextEdits": null, "filterText": null, "insertText": "split", "kind": 12, "label": "split" }, { "detail": "RegexFlags", "documentation": { "kind": "markdown", "value": "Only sticky flag set to true\n\n*From: Data.String.Regex.Flags*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sticky", "Data.String.Regex.Flags", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "sticky" }, "sortText": "Z.sticky", "additionalTextEdits": null, "filterText": null, "insertText": "sticky", "kind": 12, "label": "sticky" }, { "detail": "Hour → Time → Time", "documentation": { "kind": "markdown", "value": "Alters the hour component of a time value.\n\n*From: Data.Time*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "setHour", "Data.Time", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "setHour" }, "sortText": "Z.setHour", "additionalTextEdits": null, "filterText": null, "insertText": "setHour", "kind": 12, "label": "setHour" }, { "detail": "Minute → Time → Time", "documentation": { "kind": "markdown", "value": "Alters the minute component of a time value.\n\n*From: Data.Time*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "setMinute", "Data.Time", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "setMinute" }, "sortText": "Z.setMinute", "additionalTextEdits": null, "filterText": null, "insertText": "setMinute", "kind": 12, "label": "setMinute" }, { "detail": "Time → Second", "documentation": { "kind": "markdown", "value": "The second component of a time value.\n\n*From: Data.Time*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "second", "Data.Time", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "second" }, "sortText": "Z.second", "additionalTextEdits": null, "filterText": null, "insertText": "second", "kind": 12, "label": "second" }, { "detail": "Second → Time → Time", "documentation": { "kind": "markdown", "value": "Alters the second component of a time value.\n\n*From: Data.Time*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "setSecond", "Data.Time", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "setSecond" }, "sortText": "Z.setSecond", "additionalTextEdits": null, "filterText": null, "insertText": "setSecond", "kind": 12, "label": "setSecond" }, { "detail": "Millisecond → Time → Time", "documentation": { "kind": "markdown", "value": "Alters the millisecond component of a time value.\n\n*From: Data.Time*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "setMillisecond", "Data.Time", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "setMillisecond" }, "sortText": "Z.setMillisecond", "additionalTextEdits": null, "filterText": null, "insertText": "setMillisecond", "kind": 12, "label": "setMillisecond" }, { "detail": "∀ a m t. Traversable t ⇒ Applicative m ⇒ t (m a) → m (t a)", "documentation": { "kind": "markdown", "value": "\n*From: Data.Traversable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sequence", "Data.Traversable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "sequence" }, "sortText": "Z.sequence", "additionalTextEdits": null, "filterText": null, "insertText": "sequence", "kind": 12, "label": "sequence" }, { "detail": "∀ t a m. Traversable t ⇒ Applicative m ⇒ t (m a) → m (t a)", "documentation": { "kind": "markdown", "value": "A default implementation of `sequence` using `traverse`.\n\n*From: Data.Traversable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sequenceDefault", "Data.Traversable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "sequenceDefault" }, "sortText": "Z.sequenceDefault", "additionalTextEdits": null, "filterText": null, "insertText": "sequenceDefault", "kind": 12, "label": "sequenceDefault" }, { "detail": "∀ a b f. Traversable f ⇒ (b → a → b) → b → f a → f b", "documentation": { "kind": "markdown", "value": "Fold a data structure from the left, keeping all intermediate results\ninstead of only the final result. Note that the initial value does not\nappear in the result (unlike Haskell's `Prelude.scanl`).\n\n```purescript\nscanl (+) 0 [1,2,3] = [1,3,6]\nscanl (-) 10 [1,2,3] = [9,7,4]\n```\n\n*From: Data.Traversable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "scanl", "Data.Traversable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "scanl" }, "sortText": "Z.scanl", "additionalTextEdits": null, "filterText": null, "insertText": "scanl", "kind": 12, "label": "scanl" }, { "detail": "∀ a b f. Traversable f ⇒ (a → b → b) → b → f a → f b", "documentation": { "kind": "markdown", "value": "Fold a data structure from the right, keeping all intermediate results\ninstead of only the final result. Note that the initial value does not\nappear in the result (unlike Haskell's `Prelude.scanr`).\n\n```purescript\nscanr (+) 0 [1,2,3] = [6,5,3]\nscanr (flip (-)) 10 [1,2,3] = [4,5,7]\n```\n\n*From: Data.Traversable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "scanr", "Data.Traversable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "scanr" }, "sortText": "Z.scanr", "additionalTextEdits": null, "filterText": null, "insertText": "scanr", "kind": 12, "label": "scanr" }, { "detail": "∀ a f m. Applicative m ⇒ Foldable f ⇒ f (m a) → m Unit", "documentation": { "kind": "markdown", "value": "Perform all of the effects in some data structure in the order\ngiven by the `Foldable` instance, ignoring the final result.\n\nFor example:\n\n```purescript\nsequence_ [ trace \"Hello, \", trace \" world!\" ]\n```\n\n*From: Data.Traversable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sequence_", "Data.Traversable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "sequence_" }, "sortText": "Z.sequence_", "additionalTextEdits": null, "filterText": null, "insertText": "sequence_", "kind": 12, "label": "sequence_" }, { "detail": "∀ a f. Foldable f ⇒ Semiring a ⇒ f a → a", "documentation": { "kind": "markdown", "value": "Find the sum of the numeric values in a data structure.\n\n*From: Data.Traversable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sum", "Data.Traversable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "sum" }, "sortText": "Z.sum", "additionalTextEdits": null, "filterText": null, "insertText": "sum", "kind": 12, "label": "sum" }, { "detail": "∀ s a. StateL s a → s → Accum s a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Traversable.Accum.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "stateL", "Data.Traversable.Accum.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "stateL" }, "sortText": "Z.stateL", "additionalTextEdits": null, "filterText": null, "insertText": "stateL", "kind": 12, "label": "stateL" }, { "detail": "∀ s a. StateR s a → s → Accum s a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Traversable.Accum.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "stateR", "Data.Traversable.Accum.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "stateR" }, "sortText": "Z.stateR", "additionalTextEdits": null, "filterText": null, "insertText": "stateR", "kind": 12, "label": "stateR" }, { "detail": "∀ i a b f. TraversableWithIndex i f ⇒ (i → b → a → b) → b → f a → f b", "documentation": { "kind": "markdown", "value": "Fold a data structure from the left with access to the indices, keeping\nall intermediate results instead of only the final result. Note that the\ninitial value does not appear in the result (unlike Haskell's\n`Prelude.scanl`).\n\n```purescript\nscanlWithIndex (\\i y x -> i + y + x) 0 [1, 2, 3] = [1, 4, 9]\n```\n\n*From: Data.TraversableWithIndex*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "scanlWithIndex", "Data.TraversableWithIndex", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "scanlWithIndex" }, "sortText": "Z.scanlWithIndex", "additionalTextEdits": null, "filterText": null, "insertText": "scanlWithIndex", "kind": 12, "label": "scanlWithIndex" }, { "detail": "∀ i a b f. TraversableWithIndex i f ⇒ (i → a → b → b) → b → f a → f b", "documentation": { "kind": "markdown", "value": "Fold a data structure from the right with access to the indices, keeping\nall intermediate results instead of only the final result. Note that the\ninitial value does not appear in the result (unlike Haskell's `Prelude.scanr`).\n\n```purescript\nscanrWithIndex (\\i x y -> i + x + y) 0 [1, 2, 3] = [9, 8, 5]\n```\n\n*From: Data.TraversableWithIndex*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "scanrWithIndex", "Data.TraversableWithIndex", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "scanrWithIndex" }, "sortText": "Z.scanrWithIndex", "additionalTextEdits": null, "filterText": null, "insertText": "scanrWithIndex", "kind": 12, "label": "scanrWithIndex" }, { "detail": "∀ a b. Tuple a b → b", "documentation": { "kind": "markdown", "value": "Returns the second component of a tuple.\n\n*From: Data.Tuple*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "snd", "Data.Tuple", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "snd" }, "sortText": "Z.snd", "additionalTextEdits": null, "filterText": null, "insertText": "snd", "kind": 12, "label": "snd" }, { "detail": "∀ a b. Tuple a b → Tuple b a", "documentation": { "kind": "markdown", "value": "Exchange the first and second components of a tuple.\n\n*From: Data.Tuple*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "swap", "Data.Tuple", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "swap" }, "sortText": "Z.swap", "additionalTextEdits": null, "filterText": null, "insertText": "swap", "kind": 12, "label": "swap" }, { "detail": "∀ f a. Unfoldable1 f ⇒ a → f a", "documentation": { "kind": "markdown", "value": "Contain a single value. For example:\n\n``` purescript\nsingleton \"foo\" == (NEL.singleton \"foo\" :: NEL.NonEmptyList String)\n```\n\n*From: Data.Unfoldable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "singleton", "Data.Unfoldable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "singleton" }, "sortText": "Z.singleton", "additionalTextEdits": null, "filterText": null, "insertText": "singleton", "kind": 12, "label": "singleton" }, { "detail": "∀ f a. Unfoldable1 f ⇒ a → f a", "documentation": { "kind": "markdown", "value": "Contain a single value. For example:\n\n``` purescript\nsingleton \"foo\" == (NEL.singleton \"foo\" :: NEL.NonEmptyList String)\n```\n\n*From: Data.Unfoldable1*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "singleton", "Data.Unfoldable1", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "singleton" }, "sortText": "Z.singleton", "additionalTextEdits": null, "filterText": null, "insertText": "singleton", "kind": 12, "label": "singleton" }, { "detail": "∀ a. AVar a → Effect (AVarStatus a)", "documentation": { "kind": "markdown", "value": "Synchronously checks the status of an AVar.\n\n*From: Effect.AVar*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "status", "Effect.AVar", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "status" }, "sortText": "Z.status", "additionalTextEdits": null, "filterText": null, "insertText": "status", "kind": 12, "label": "status" }, { "detail": "∀ a. Aff a → Aff (Fiber a)", "documentation": { "kind": "markdown", "value": "Suspends an `Aff` from within a parent `Aff` context, returning the `Fiber`.\nA suspended `Aff` is not executed until a consumer observes the result\nwith `joinFiber`.\n\n*From: Effect.Aff*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "suspendAff", "Effect.Aff", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "suspendAff" }, "sortText": "Z.suspendAff", "additionalTextEdits": null, "filterText": null, "insertText": "suspendAff", "kind": 12, "label": "suspendAff" }, { "detail": "∀ a. Aff a → Aff a", "documentation": { "kind": "markdown", "value": "Creates a new supervision context for some `Aff`, guaranteeing fiber\ncleanup when the parent completes. Any pending fibers forked within\nthe context will be killed and have their cancelers run.\n\n*From: Effect.Aff*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "supervise", "Effect.Aff", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "supervise" }, "sortText": "Z.supervise", "additionalTextEdits": null, "filterText": null, "insertText": "supervise", "kind": 12, "label": "supervise" }, { "detail": "∀ m f. Parallel f m ⇒ (∀ a. f a → m a)", "documentation": { "kind": "markdown", "value": "\n*From: Effect.Aff*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sequential", "Effect.Aff", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "sequential" }, "sortText": "Z.sequential", "additionalTextEdits": null, "filterText": null, "insertText": "sequential", "kind": 12, "label": "sequential" }, { "detail": "∀ a. AVar a → Aff (AVarStatus a)", "documentation": { "kind": "markdown", "value": "Synchronously checks the status of an AVar.\n\n*From: Effect.Aff.AVar*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "status", "Effect.Aff.AVar", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "status" }, "sortText": "Z.status", "additionalTextEdits": null, "filterText": null, "insertText": "status", "kind": 12, "label": "status" }, { "detail": "Error → Maybe String", "documentation": { "kind": "markdown", "value": "Get the stack trace from a JavaScript error\n\n*From: Effect.Exception*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "stack", "Effect.Exception", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "stack" }, "sortText": "Z.stack", "additionalTextEdits": null, "filterText": null, "insertText": "stack", "kind": 12, "label": "stack" }, { "detail": "Radians → Number", "documentation": { "kind": "markdown", "value": "Returns the sine of the argument.\n\n*From: Math*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sin", "Math", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "sin" }, "sortText": "Z.sin", "additionalTextEdits": null, "filterText": null, "insertText": "sin", "kind": 12, "label": "sin" }, { "detail": "Number → Number", "documentation": { "kind": "markdown", "value": "Returns the square root of the argument.\n\n*From: Math*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sqrt", "Math", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "sqrt" }, "sortText": "Z.sqrt", "additionalTextEdits": null, "filterText": null, "insertText": "sqrt", "kind": 12, "label": "sqrt" }, { "detail": "Number", "documentation": { "kind": "markdown", "value": "The Square root of one half, around 0.707107.\n\n*From: Math*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sqrt1_2", "Math", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "sqrt1_2" }, "sortText": "Z.sqrt1_2", "additionalTextEdits": null, "filterText": null, "insertText": "sqrt1_2", "kind": 12, "label": "sqrt1_2" }, { "detail": "Number", "documentation": { "kind": "markdown", "value": "The square root of two, around 1.41421.\n\n*From: Math*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sqrt2", "Math", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "sqrt2" }, "sortText": "Z.sqrt2", "additionalTextEdits": null, "filterText": null, "insertText": "sqrt2", "kind": 12, "label": "sqrt2" }, { "detail": "∀ m buf. MutableBuffer buf m ⇒ Int → Int → buf → m Unit", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "setAtOffset", "Node.Buffer", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "setAtOffset" }, "sortText": "Z.setAtOffset", "additionalTextEdits": null, "filterText": null, "insertText": "setAtOffset", "kind": 12, "label": "setAtOffset" }, { "detail": "∀ m buf. MutableBuffer buf m ⇒ buf → m Int", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "size", "Node.Buffer", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "size" }, "sortText": "Z.size", "additionalTextEdits": null, "filterText": null, "insertText": "size", "kind": 12, "label": "size" }, { "detail": "∀ m buf. MutableBuffer buf m ⇒ Int → Int → buf → buf", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "slice", "Node.Buffer", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "slice" }, "sortText": "Z.slice", "additionalTextEdits": null, "filterText": null, "insertText": "slice", "kind": 12, "label": "slice" }, { "detail": "∀ m buf. MutableBuffer buf m ⇒ Int → Int → buf → m Unit", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer.Class*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "setAtOffset", "Node.Buffer.Class", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "setAtOffset" }, "sortText": "Z.setAtOffset", "additionalTextEdits": null, "filterText": null, "insertText": "setAtOffset", "kind": 12, "label": "setAtOffset" }, { "detail": "∀ m buf. MutableBuffer buf m ⇒ Int → Int → buf → buf", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer.Class*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "slice", "Node.Buffer.Class", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "slice" }, "sortText": "Z.slice", "additionalTextEdits": null, "filterText": null, "insertText": "slice", "kind": 12, "label": "slice" }, { "detail": "∀ m buf. MutableBuffer buf m ⇒ buf → m Int", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer.Class*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "size", "Node.Buffer.Class", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "size" }, "sortText": "Z.size", "additionalTextEdits": null, "filterText": null, "insertText": "size", "kind": 12, "label": "size" }, { "detail": "Offset → Offset → ImmutableBuffer → ImmutableBuffer", "documentation": { "kind": "markdown", "value": "Creates a new buffer slice that shares the memory of the original buffer.\n\n*From: Node.Buffer.Immutable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "slice", "Node.Buffer.Immutable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "slice" }, "sortText": "Z.slice", "additionalTextEdits": null, "filterText": null, "insertText": "slice", "kind": 12, "label": "slice" }, { "detail": "ImmutableBuffer → Int", "documentation": { "kind": "markdown", "value": "Returns the size of a buffer.\n\n*From: Node.Buffer.Immutable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "size", "Node.Buffer.Immutable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "size" }, "sortText": "Z.size", "additionalTextEdits": null, "filterText": null, "insertText": "size", "kind": 12, "label": "size" }, { "detail": "∀ buf m. Octet → Offset → buf → m Unit", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "setAtOffset", "Node.Buffer.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "setAtOffset" }, "sortText": "Z.setAtOffset", "additionalTextEdits": null, "filterText": null, "insertText": "setAtOffset", "kind": 12, "label": "setAtOffset" }, { "detail": "∀ buf. Offset → Offset → buf → buf", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "slice", "Node.Buffer.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "slice" }, "sortText": "Z.slice", "additionalTextEdits": null, "filterText": null, "insertText": "slice", "kind": 12, "label": "slice" }, { "detail": "∀ buf m. Monad m ⇒ buf → m Int", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "size", "Node.Buffer.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "size" }, "sortText": "Z.size", "additionalTextEdits": null, "filterText": null, "insertText": "size", "kind": 12, "label": "size" }, { "detail": "SymlinkType → String", "documentation": { "kind": "markdown", "value": "Convert a `SymlinkType` to a `String` in the format expected by the\nNode.js filesystem API.\n\n*From: Node.FS*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "symlinkTypeToNode", "Node.FS", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "symlinkTypeToNode" }, "sortText": "Z.symlinkTypeToNode", "additionalTextEdits": null, "filterText": null, "insertText": "symlinkTypeToNode", "kind": 12, "label": "symlinkTypeToNode" }, { "detail": "FilePath → Callback Stats → Effect Unit", "documentation": { "kind": "markdown", "value": "Gets file statistics.\n\n*From: Node.FS.Async*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "stat", "Node.FS.Async", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "stat" }, "sortText": "Z.stat", "additionalTextEdits": null, "filterText": null, "insertText": "stat", "kind": 12, "label": "stat" }, { "detail": "FilePath → FilePath → SymlinkType → Callback Unit → Effect Unit", "documentation": { "kind": "markdown", "value": "Creates a symlink.\n\n*From: Node.FS.Async*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "symlink", "Node.FS.Async", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "symlink" }, "sortText": "Z.symlink", "additionalTextEdits": null, "filterText": null, "insertText": "symlink", "kind": 12, "label": "symlink" }, { "detail": "Stats → DateTime", "documentation": { "kind": "markdown", "value": "\n*From: Node.FS.Stats*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "statusChangedTime", "Node.FS.Stats", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "statusChangedTime" }, "sortText": "Z.statusChangedTime", "additionalTextEdits": null, "filterText": null, "insertText": "statusChangedTime", "kind": 12, "label": "statusChangedTime" }, { "detail": "FilePath → Effect Stats", "documentation": { "kind": "markdown", "value": "Gets file statistics.\n\n*From: Node.FS.Sync*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "stat", "Node.FS.Sync", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "stat" }, "sortText": "Z.stat", "additionalTextEdits": null, "filterText": null, "insertText": "stat", "kind": 12, "label": "stat" }, { "detail": "FilePath → FilePath → SymlinkType → Effect Unit", "documentation": { "kind": "markdown", "value": "Creates a symlink.\n\n*From: Node.FS.Sync*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "symlink", "Node.FS.Sync", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "symlink" }, "sortText": "Z.symlink", "additionalTextEdits": null, "filterText": null, "insertText": "symlink", "kind": 12, "label": "symlink" }, { "detail": "String", "documentation": { "kind": "markdown", "value": "The platform-specific file separator. `\\\\` or `/`.\n\n*From: Node.Path*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sep", "Node.Path", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "sep" }, "sortText": "Z.sep", "additionalTextEdits": null, "filterText": null, "insertText": "sep", "kind": 12, "label": "sep" }, { "detail": "∀ w. Readable w → Encoding → Effect Unit", "documentation": { "kind": "markdown", "value": "Set the encoding used to read chunks as strings from the stream. This\nfunction may be useful when you are passing a readable stream to some other\nJavaScript library, which already expects an encoding to be set.\n\nWhere possible, you should try to use `onDataString` instead of this\nfunction.\n\n*From: Node.Stream*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "setEncoding", "Node.Stream", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "setEncoding" }, "sortText": "Z.setEncoding", "additionalTextEdits": null, "filterText": null, "insertText": "setEncoding", "kind": 12, "label": "setEncoding" }, { "detail": "∀ r. Writable r → Encoding → Effect Unit", "documentation": { "kind": "markdown", "value": "Set the default encoding used to write strings to the stream. This function\nis useful when you are passing a writable stream to some other JavaScript\nlibrary, which already expects a default encoding to be set. It has no\neffect on the behaviour of the `writeString` function (because that\nfunction ensures that the encoding is always supplied explicitly).\n\n*From: Node.Stream*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "setDefaultEncoding", "Node.Stream", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "setDefaultEncoding" }, "sortText": "Z.setDefaultEncoding", "additionalTextEdits": null, "filterText": null, "insertText": "setDefaultEncoding", "kind": 12, "label": "setDefaultEncoding" }, { "detail": "∀ a m r. Monad m ⇒ Pipe (m a) a m r", "documentation": { "kind": "markdown", "value": "Convert a stream of actions to a stream of values\n\n*From: Pipes.Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sequence", "Pipes.Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "sequence" }, "sortText": "Z.sequence", "additionalTextEdits": null, "filterText": null, "insertText": "sequence", "kind": 12, "label": "sequence" }, { "detail": "∀ a b x m r. Monad m ⇒ (x → a → x) → x → (x → b) → Pipe a b m r", "documentation": { "kind": "markdown", "value": "Left scan\n\n*From: Pipes.Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "scan", "Pipes.Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "scan" }, "sortText": "Z.scan", "additionalTextEdits": null, "filterText": null, "insertText": "scan", "kind": 12, "label": "scan" }, { "detail": "∀ a b x m r. Monad m ⇒ (x → a → m x) → m x → (x → m b) → Pipe a b m r", "documentation": { "kind": "markdown", "value": "Monadic left scan\n\n*From: Pipes.Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "scanM", "Pipes.Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "scanM" }, "sortText": "Z.scanM", "additionalTextEdits": null, "filterText": null, "insertText": "scanM", "kind": 12, "label": "scanM" }, { "detail": "∀ a m r. Monad m ⇒ Show a ⇒ Pipe a String m r", "documentation": { "kind": "markdown", "value": "Convert `Show`able values to `String`s\n\n*From: Pipes.Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "show", "Pipes.Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "show" }, "sortText": "Z.show", "additionalTextEdits": null, "filterText": null, "insertText": "show", "kind": 12, "label": "show" }, { "detail": "∀ a m r. Monad m ⇒ Pipe a a m r", "documentation": { "kind": "markdown", "value": "Evaluate all values flowing downstream to WHNF\nXXX: Is this needed in purescript?\n\n*From: Pipes.Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "seq", "Pipes.Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "seq" }, "sortText": "Z.seq", "additionalTextEdits": null, "filterText": null, "insertText": "seq", "kind": 12, "label": "seq" }, { "detail": "∀ a. Show a ⇒ a → String", "documentation": { "kind": "markdown", "value": "\n*From: Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "show", "Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "show" }, "sortText": "Z.show", "additionalTextEdits": null, "filterText": null, "insertText": "show", "kind": 12, "label": "show" }, { "detail": "∀ a. Ring a ⇒ a → a → a", "documentation": { "kind": "markdown", "value": "\n*From: Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sub", "Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "sub" }, "sortText": "Z.sub", "additionalTextEdits": null, "filterText": null, "insertText": "sub", "kind": 12, "label": "sub" }, { "detail": "Unit → BigInt", "documentation": { "kind": "markdown", "value": "\n*From: Problem1*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "solution", "Problem1", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "solution" }, "sortText": "Z.solution", "additionalTextEdits": null, "filterText": null, "insertText": "solution", "kind": 12, "label": "solution" }, { "detail": "Unit → BigInt", "documentation": { "kind": "markdown", "value": "\n*From: Problem10*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "solution", "Problem10", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "solution" }, "sortText": "Z.solution", "additionalTextEdits": null, "filterText": null, "insertText": "solution", "kind": 12, "label": "solution" }, { "detail": "Unit → BigInt", "documentation": { "kind": "markdown", "value": "\n*From: Problem11*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "solution", "Problem11", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "solution" }, "sortText": "Z.solution", "additionalTextEdits": null, "filterText": null, "insertText": "solution", "kind": 12, "label": "solution" }, { "detail": "Unit → BigInt", "documentation": { "kind": "markdown", "value": "\n*From: Problem2*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "solution", "Problem2", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "solution" }, "sortText": "Z.solution", "additionalTextEdits": null, "filterText": null, "insertText": "solution", "kind": 12, "label": "solution" }, { "detail": "Unit → BigInt", "documentation": { "kind": "markdown", "value": "\n*From: Problem3*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "solution", "Problem3", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "solution" }, "sortText": "Z.solution", "additionalTextEdits": null, "filterText": null, "insertText": "solution", "kind": 12, "label": "solution" }, { "detail": "Unit → BigInt", "documentation": { "kind": "markdown", "value": "\n*From: Problem4*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "solution", "Problem4", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "solution" }, "sortText": "Z.solution", "additionalTextEdits": null, "filterText": null, "insertText": "solution", "kind": 12, "label": "solution" }, { "detail": "Unit → BigInt", "documentation": { "kind": "markdown", "value": "\n*From: Problem5*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "solution", "Problem5", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "solution" }, "sortText": "Z.solution", "additionalTextEdits": null, "filterText": null, "insertText": "solution", "kind": 12, "label": "solution" }, { "detail": "Unit → BigInt", "documentation": { "kind": "markdown", "value": "\n*From: Problem6*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "solution", "Problem6", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "solution" }, "sortText": "Z.solution", "additionalTextEdits": null, "filterText": null, "insertText": "solution", "kind": 12, "label": "solution" }, { "detail": "Unit → BigInt", "documentation": { "kind": "markdown", "value": "\n*From: Problem7*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "solution", "Problem7", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "solution" }, "sortText": "Z.solution", "additionalTextEdits": null, "filterText": null, "insertText": "solution", "kind": 12, "label": "solution" }, { "detail": "Unit → BigInt", "documentation": { "kind": "markdown", "value": "\n*From: Problem8*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "solution", "Problem8", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "solution" }, "sortText": "Z.solution", "additionalTextEdits": null, "filterText": null, "insertText": "solution", "kind": 12, "label": "solution" }, { "detail": "Unit → BigInt", "documentation": { "kind": "markdown", "value": "Get the solution to problem 9 of project euler.\n\nMathematically, we need to find three natural numbers,\na, b, and c, that satisfy the following requirements:\n\n```\na < b < c\na + b + c = 100\na ^ 2 + b ^ 2 = c ^ 2\n```\n\nThere is only one triple of numbers that satisfies\nthese requirements.\n\nAfter getting a, b, and c, return their product.\n\n*From: Problem9*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "solution", "Problem9", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "solution" }, "sortText": "Z.solution", "additionalTextEdits": null, "filterText": null, "insertText": "solution", "kind": 12, "label": "solution" }, { "detail": "Array (Unit → BigInt)", "documentation": { "kind": "markdown", "value": "\n*From: Problems*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "solutions", "Problems", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "solutions" }, "sortText": "Z.solutions", "additionalTextEdits": null, "filterText": null, "insertText": "solutions", "kind": 12, "label": "solutions" }, { "detail": "∀ r1 r2 r l a b. IsSymbol l ⇒ Cons l a r r1 ⇒ Cons l b r r2 ⇒ SProxy l → b → Record r1 → Record r2", "documentation": { "kind": "markdown", "value": "Set a property for a label which is specified using a value-level proxy for\na type-level string.\n\nFor example:\n\n```purescript\nset (SProxy :: SProxy \"x\")\n :: forall r a b. a -> { x :: b | r } -> { x :: a | r }\n```\n\n*From: Record*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "set", "Record", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "set" }, "sortText": "Z.set", "additionalTextEdits": null, "filterText": null, "insertText": "set", "kind": 12, "label": "set" }, { "detail": "Spec Unit", "documentation": { "kind": "markdown", "value": "\n*From: Test.ArrayUtilsSpec*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "spec", "Test.ArrayUtilsSpec", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "spec" }, "sortText": "Z.spec", "additionalTextEdits": null, "filterText": null, "insertText": "spec", "kind": 12, "label": "spec" }, { "detail": "SpecT Aff Unit Identity Unit", "documentation": { "kind": "markdown", "value": "\n*From: Test.FatPreludeSpec*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "spec", "Test.FatPreludeSpec", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "spec" }, "sortText": "Z.spec", "additionalTextEdits": null, "filterText": null, "insertText": "spec", "kind": 12, "label": "spec" }, { "detail": "Spec Unit", "documentation": { "kind": "markdown", "value": "\n*From: Test.MathUtilsSpec*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "spec", "Test.MathUtilsSpec", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "spec" }, "sortText": "Z.spec", "additionalTextEdits": null, "filterText": null, "insertText": "spec", "kind": 12, "label": "spec" }, { "detail": "Spec Unit", "documentation": { "kind": "markdown", "value": "\n*From: Test.ProblemsSpec*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "spec", "Test.ProblemsSpec", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "spec" }, "sortText": "Z.spec", "additionalTextEdits": null, "filterText": null, "insertText": "spec", "kind": 12, "label": "spec" }, { "detail": "∀ a. (GenState → Gen a) → Gen a", "documentation": { "kind": "markdown", "value": "Create a random generator which uses the generator state explicitly.\n\n*From: Test.QuickCheck.Gen*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "stateful", "Test.QuickCheck.Gen", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "stateful" }, "sortText": "Z.stateful", "additionalTextEdits": null, "filterText": null, "insertText": "stateful", "kind": 12, "label": "stateful" }, { "detail": "∀ a. Gen a → (a → Boolean) → Gen a", "documentation": { "kind": "markdown", "value": "Ensure that a generator only produces values that match a predicate. If\nthe predicate always returns false the generator will loop forever.\n\n*From: Test.QuickCheck.Gen*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "suchThat", "Test.QuickCheck.Gen", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "suchThat" }, "sortText": "Z.suchThat", "additionalTextEdits": null, "filterText": null, "insertText": "suchThat", "kind": 12, "label": "suchThat" }, { "detail": "∀ a. (Size → Gen a) → Gen a", "documentation": { "kind": "markdown", "value": "Create a random generator which depends on the size parameter.\n\n*From: Test.QuickCheck.Gen*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sized", "Test.QuickCheck.Gen", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "sized" }, "sortText": "Z.sized", "additionalTextEdits": null, "filterText": null, "insertText": "sized", "kind": 12, "label": "sized" }, { "detail": "∀ a. Array a → Gen (Array a)", "documentation": { "kind": "markdown", "value": "Generate a random permutation of the given array\n\n*From: Test.QuickCheck.Gen*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "shuffle", "Test.QuickCheck.Gen", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "shuffle" }, "sortText": "Z.shuffle", "additionalTextEdits": null, "filterText": null, "insertText": "shuffle", "kind": 12, "label": "shuffle" }, { "detail": "∀ a. Seed → Size → Gen a → Array a", "documentation": { "kind": "markdown", "value": "Sample a random generator\n\n*From: Test.QuickCheck.Gen*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sample", "Test.QuickCheck.Gen", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "sample" }, "sortText": "Z.sample", "additionalTextEdits": null, "filterText": null, "insertText": "sample", "kind": 12, "label": "sample" }, { "detail": "∀ m g i a. Monad m ⇒ SpecT g i m a → SpecT g i m a", "documentation": { "kind": "markdown", "value": "marks all spec items of the given spec to be evaluated sequentially.\n\n*From: Test.Spec*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sequential", "Test.Spec", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "sequential" }, "sortText": "Z.sequential", "additionalTextEdits": null, "filterText": null, "insertText": "sequential", "kind": 12, "label": "sequential" }, { "detail": "∀ m t. MonadThrow Error m ⇒ Show t ⇒ Eq t ⇒ t → t → m Unit", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Assertions*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "shouldEqual", "Test.Spec.Assertions", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "shouldEqual" }, "sortText": "Z.shouldEqual", "additionalTextEdits": null, "filterText": null, "insertText": "shouldEqual", "kind": 12, "label": "shouldEqual" }, { "detail": "∀ m t. MonadThrow Error m ⇒ Show t ⇒ Eq t ⇒ t → t → m Unit", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Assertions*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "shouldNotEqual", "Test.Spec.Assertions", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "shouldNotEqual" }, "sortText": "Z.shouldNotEqual", "additionalTextEdits": null, "filterText": null, "insertText": "shouldNotEqual", "kind": 12, "label": "shouldNotEqual" }, { "detail": "∀ m f a. MonadThrow Error m ⇒ Show a ⇒ Eq a ⇒ Show (f a) ⇒ Foldable f ⇒ f a → a → m Unit", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Assertions*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "shouldContain", "Test.Spec.Assertions", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "shouldContain" }, "sortText": "Z.shouldContain", "additionalTextEdits": null, "filterText": null, "insertText": "shouldContain", "kind": 12, "label": "shouldContain" }, { "detail": "∀ m f a. MonadThrow Error m ⇒ Show a ⇒ Eq a ⇒ Show (f a) ⇒ Foldable f ⇒ f a → a → m Unit", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Assertions*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "shouldNotContain", "Test.Spec.Assertions", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "shouldNotContain" }, "sortText": "Z.shouldNotContain", "additionalTextEdits": null, "filterText": null, "insertText": "shouldNotContain", "kind": 12, "label": "shouldNotContain" }, { "detail": "∀ m t. MonadThrow Error m ⇒ Show t ⇒ t → (t → Boolean) → m Unit", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Assertions*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "shouldNotSatisfy", "Test.Spec.Assertions", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "shouldNotSatisfy" }, "sortText": "Z.shouldNotSatisfy", "additionalTextEdits": null, "filterText": null, "insertText": "shouldNotSatisfy", "kind": 12, "label": "shouldNotSatisfy" }, { "detail": "∀ m t. MonadThrow Error m ⇒ Show t ⇒ t → (t → Boolean) → m Unit", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Assertions*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "shouldSatisfy", "Test.Spec.Assertions", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "shouldSatisfy" }, "sortText": "Z.shouldSatisfy", "additionalTextEdits": null, "filterText": null, "insertText": "shouldSatisfy", "kind": 12, "label": "shouldSatisfy" }, { "detail": "∀ m t. MonadThrow Error m ⇒ Eq t ⇒ Show t ⇒ m t → t → m Unit", "documentation": { "kind": "markdown", "value": "Asserts that `m t` returns `t`\n\n*From: Test.Spec.Assertions*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "shouldReturn", "Test.Spec.Assertions", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "shouldReturn" }, "sortText": "Z.shouldReturn", "additionalTextEdits": null, "filterText": null, "insertText": "shouldReturn", "kind": 12, "label": "shouldReturn" }, { "detail": "∀ m t. MonadThrow Error m ⇒ Eq t ⇒ Show t ⇒ m t → t → m Unit", "documentation": { "kind": "markdown", "value": "Asserts that `m t` does not return `t`\n\n*From: Test.Spec.Assertions*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "shouldNotReturn", "Test.Spec.Assertions", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "shouldNotReturn" }, "sortText": "Z.shouldNotReturn", "additionalTextEdits": null, "filterText": null, "insertText": "shouldNotReturn", "kind": 12, "label": "shouldNotReturn" }, { "detail": "∀ m. MonadThrow Error m ⇒ String → String → m Unit", "documentation": { "kind": "markdown", "value": "Asserts `string` contains `subs`\n\n```purescript\nstring `shouldContain` subs\n```\n\n*From: Test.Spec.Assertions.String*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "shouldContain", "Test.Spec.Assertions.String", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "shouldContain" }, "sortText": "Z.shouldContain", "additionalTextEdits": null, "filterText": null, "insertText": "shouldContain", "kind": 12, "label": "shouldContain" }, { "detail": "∀ m. MonadThrow Error m ⇒ String → String → m Unit", "documentation": { "kind": "markdown", "value": "Asserts `string` does not contain `subs`\n\n```purescript\nstring `shouldContain` subs\n```\n\n*From: Test.Spec.Assertions.String*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "shouldNotContain", "Test.Spec.Assertions.String", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "shouldNotContain" }, "sortText": "Z.shouldNotContain", "additionalTextEdits": null, "filterText": null, "insertText": "shouldNotContain", "kind": 12, "label": "shouldNotContain" }, { "detail": "∀ m. MonadThrow Error m ⇒ String → String → m Unit", "documentation": { "kind": "markdown", "value": "Asserts `string` starts with `prefix`\n\n```purescript\nstring `shouldStartWith` prefix\n```\n\n*From: Test.Spec.Assertions.String*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "shouldStartWith", "Test.Spec.Assertions.String", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "shouldStartWith" }, "sortText": "Z.shouldStartWith", "additionalTextEdits": null, "filterText": null, "insertText": "shouldStartWith", "kind": 12, "label": "shouldStartWith" }, { "detail": "∀ m. MonadThrow Error m ⇒ String → String → m Unit", "documentation": { "kind": "markdown", "value": "Asserts `string` ends with `suffix`\n\n```purescript\nstring `shouldEndWith` suffix\n```\n\n*From: Test.Spec.Assertions.String*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "shouldEndWith", "Test.Spec.Assertions.String", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "shouldEndWith" }, "sortText": "Z.shouldEndWith", "additionalTextEdits": null, "filterText": null, "insertText": "shouldEndWith", "kind": 12, "label": "shouldEndWith" }, { "detail": "Reporter", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Reporter*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "specReporter", "Test.Spec.Reporter", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "specReporter" }, "sortText": "Z.specReporter", "additionalTextEdits": null, "filterText": null, "insertText": "specReporter", "kind": 12, "label": "specReporter" }, { "detail": "Reporter", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Reporter.Spec*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "specReporter", "Test.Spec.Reporter.Spec", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "specReporter" }, "sortText": "Z.specReporter", "additionalTextEdits": null, "filterText": null, "insertText": "specReporter", "kind": 12, "label": "specReporter" }, { "detail": "Milliseconds → Milliseconds → Speed", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Speed*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "speedOf", "Test.Spec.Speed", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "speedOf" }, "sortText": "Z.speedOf", "additionalTextEdits": null, "filterText": null, "insertText": "speedOf", "kind": 12, "label": "speedOf" }, { "detail": "Style → String → String", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Style*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "styled", "Test.Spec.Style", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "styled" }, "sortText": "Z.styled", "additionalTextEdits": null, "filterText": null, "insertText": "styled", "kind": 12, "label": "styled" }, { "detail": "∀ a. Array (Tree a Result) → Summary", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Summary*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "summarize", "Test.Spec.Summary", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "summarize" }, "sortText": "Z.summarize", "additionalTextEdits": null, "filterText": null, "insertText": "summarize", "kind": 12, "label": "summarize" }, { "detail": "∀ a. Array (Tree a Result) → Boolean", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Summary*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "successful", "Test.Spec.Summary", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "successful" }, "sortText": "Z.successful", "additionalTextEdits": null, "filterText": null, "insertText": "successful", "kind": 12, "label": "successful" }, { "detail": "Spec Unit", "documentation": { "kind": "markdown", "value": "\n*From: Test.StringUtilsSpec*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "spec", "Test.StringUtilsSpec", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "spec" }, "sortText": "Z.spec", "additionalTextEdits": null, "filterText": null, "insertText": "spec", "kind": 12, "label": "spec" }, { "detail": "∀ a. Semiring a ⇒ a → a", "documentation": { "kind": "markdown", "value": "Returns input multiplied by iself\n\n*From: Utils.Math*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "square", "Utils.Math", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 6 }, "end": { "line": 6, "character": 1 } }, "newText": "square" }, "sortText": "Z.square", "additionalTextEdits": null, "filterText": null, "insertText": "square", "kind": 12, "label": "square" } ], "isIncomplete": false } [Trace - 4:16:34 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 32 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec)\n\nspec :: \n" } ] } [Trace - 4:16:34 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 33 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec)\n\nspec :: S\n" } ] } [Trace - 4:16:34 PM] Sending request 'textDocument/completion - (21)'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" }, "position": { "line": 6, "character": 9 }, "context": { "triggerKind": 1 } } [Trace - 4:16:34 PM] Received notification 'window/logMessage'. Params: { "type": 3, "message": "[Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead\n" } [Info - 4:16:34 PM] [Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead [Trace - 4:16:34 PM] Received response 'textDocument/completion - (21)' in 24ms. Result: { "items": [ { "detail": "Int → EscapeCode", "documentation": { "kind": "markdown", "value": "\n*From: Ansi.Codes*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "ScrollUp", "Ansi.Codes", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "ScrollUp" }, "sortText": "Z.ScrollUp", "additionalTextEdits": null, "filterText": null, "insertText": "ScrollUp", "kind": 7, "label": "ScrollUp" }, { "detail": "Int → EscapeCode", "documentation": { "kind": "markdown", "value": "\n*From: Ansi.Codes*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "ScrollDown", "Ansi.Codes", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "ScrollDown" }, "sortText": "Z.ScrollDown", "additionalTextEdits": null, "filterText": null, "insertText": "ScrollDown", "kind": 7, "label": "ScrollDown" }, { "detail": "EscapeCode", "documentation": { "kind": "markdown", "value": "\n*From: Ansi.Codes*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "SavePosition", "Ansi.Codes", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "SavePosition" }, "sortText": "Z.SavePosition", "additionalTextEdits": null, "filterText": null, "insertText": "SavePosition", "kind": 7, "label": "SavePosition" }, { "detail": "EscapeCode", "documentation": { "kind": "markdown", "value": "\n*From: Ansi.Codes*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "ShowCursor", "Ansi.Codes", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "ShowCursor" }, "sortText": "Z.ShowCursor", "additionalTextEdits": null, "filterText": null, "insertText": "ShowCursor", "kind": 7, "label": "ShowCursor" }, { "detail": "RenderingMode", "documentation": { "kind": "markdown", "value": "\n*From: Ansi.Codes*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Strikethrough", "Ansi.Codes", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "Strikethrough" }, "sortText": "Z.Strikethrough", "additionalTextEdits": null, "filterText": null, "insertText": "Strikethrough", "kind": 7, "label": "Strikethrough" }, { "detail": "(Type -> Type -> Type) -> Type", "documentation": { "kind": "markdown", "value": "\n*From: Control.Category*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Semigroupoid", "Control.Category", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "Semigroupoid" }, "sortText": "Z.Semigroupoid", "additionalTextEdits": null, "filterText": null, "insertText": "Semigroupoid", "kind": 3, "label": "Semigroupoid" }, { "detail": "StoreT s Identity", "documentation": { "kind": "markdown", "value": "The `Store` comonad is a synonym for the `StoreT` comonad transformer, applied\nto the `Identity` monad.\n\n*From: Control.Comonad.Store*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Store", "Control.Comonad.Store", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "Store" }, "sortText": "Z.Store", "additionalTextEdits": null, "filterText": null, "insertText": "Store", "kind": 7, "label": "Store" }, { "detail": "Type -> (Type -> Type) -> Type -> Type", "documentation": { "kind": "markdown", "value": "The store comonad transformer.\n\nThis comonad transformer extends the context of a value in the base comonad so that the value\ndepends on a position of type `s`.\n\nThe `ComonadStore` type class describes the operations supported by this comonad.\n\n*From: Control.Comonad.Store*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "StoreT", "Control.Comonad.Store", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "StoreT" }, "sortText": "Z.StoreT", "additionalTextEdits": null, "filterText": null, "insertText": "StoreT", "kind": 3, "label": "StoreT" }, { "detail": "∀ s w a. Tuple (w (s → a)) s → StoreT s w a", "documentation": { "kind": "markdown", "value": "\n*From: Control.Comonad.Store*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "StoreT", "Control.Comonad.Store", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "StoreT" }, "sortText": "Z.StoreT", "additionalTextEdits": null, "filterText": null, "insertText": "StoreT", "kind": 7, "label": "StoreT" }, { "detail": "Type -> (Type -> Type) -> Type -> Type", "documentation": { "kind": "markdown", "value": "The store comonad transformer.\n\nThis comonad transformer extends the context of a value in the base comonad so that the value\ndepends on a position of type `s`.\n\nThe `ComonadStore` type class describes the operations supported by this comonad.\n\n*From: Control.Comonad.Store.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "StoreT", "Control.Comonad.Store.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "StoreT" }, "sortText": "Z.StoreT", "additionalTextEdits": null, "filterText": null, "insertText": "StoreT", "kind": 3, "label": "StoreT" }, { "detail": "∀ s w a. Tuple (w (s → a)) s → StoreT s w a", "documentation": { "kind": "markdown", "value": "\n*From: Control.Comonad.Store.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "StoreT", "Control.Comonad.Store.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "StoreT" }, "sortText": "Z.StoreT", "additionalTextEdits": null, "filterText": null, "insertText": "StoreT", "kind": 7, "label": "StoreT" }, { "detail": "Int", "documentation": { "kind": "markdown", "value": "\n*From: Control.Monad.Gen*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Size", "Control.Monad.Gen", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "Size" }, "sortText": "Z.Size", "additionalTextEdits": null, "filterText": null, "insertText": "Size", "kind": 7, "label": "Size" }, { "detail": "Int", "documentation": { "kind": "markdown", "value": "\n*From: Control.Monad.Gen.Class*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Size", "Control.Monad.Gen.Class", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "Size" }, "sortText": "Z.Size", "additionalTextEdits": null, "filterText": null, "insertText": "Size", "kind": 7, "label": "Size" }, { "detail": "Type -> Type -> Type", "documentation": { "kind": "markdown", "value": "The result of a single step in a `ListT` computation. Either:\n\n- Computation has finished (`Done`), or\n- A result has been returned, along with the next part of the computation (`Yield`).\n\nThe `Skip` constructor allows us to avoid traversing lists during certain operations.\n\n*From: Control.Monad.List.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Step", "Control.Monad.List.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "Step" }, "sortText": "Z.Step", "additionalTextEdits": null, "filterText": null, "insertText": "Step", "kind": 3, "label": "Step" }, { "detail": "∀ a s. Lazy s → Step a s", "documentation": { "kind": "markdown", "value": "\n*From: Control.Monad.List.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Skip", "Control.Monad.List.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "Skip" }, "sortText": "Z.Skip", "additionalTextEdits": null, "filterText": null, "insertText": "Skip", "kind": 7, "label": "Skip" }, { "detail": "Type -> Type -> Type", "documentation": { "kind": "markdown", "value": "The result of a computation: either `Loop` containing the updated\naccumulator, or `Done` containing the final result of the computation.\n\n*From: Control.Monad.Rec.Class*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Step", "Control.Monad.Rec.Class", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "Step" }, "sortText": "Z.Step", "additionalTextEdits": null, "filterText": null, "insertText": "Step", "kind": 3, "label": "Step" }, { "detail": "Control.Monad.ST.Internal.Region -> Type -> Type", "documentation": { "kind": "markdown", "value": "The `ST` type constructor allows _local mutation_, i.e. mutation which\ndoes not \"escape\" into the surrounding computation.\n\nAn `ST` computation is parameterized by a phantom type which is used to\nrestrict the set of reference cells it is allowed to access.\n\nThe `run` function can be used to run a computation in the `ST` monad.\n\n*From: Control.Monad.ST*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "ST", "Control.Monad.ST", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "ST" }, "sortText": "Z.ST", "additionalTextEdits": null, "filterText": null, "insertText": "ST", "kind": 3, "label": "ST" }, { "detail": "Control.Monad.ST.Internal.Region -> Type -> Type", "documentation": { "kind": "markdown", "value": "The `ST` type constructor allows _local mutation_, i.e. mutation which\ndoes not \"escape\" into the surrounding computation.\n\nAn `ST` computation is parameterized by a phantom type which is used to\nrestrict the set of reference cells it is allowed to access.\n\nThe `run` function can be used to run a computation in the `ST` monad.\n\n*From: Control.Monad.ST.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "ST", "Control.Monad.ST.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "ST" }, "sortText": "Z.ST", "additionalTextEdits": null, "filterText": null, "insertText": "ST", "kind": 3, "label": "ST" }, { "detail": "Control.Monad.ST.Internal.Region -> Type -> Type", "documentation": { "kind": "markdown", "value": "The type `STRef r a` represents a mutable reference holding a value of\ntype `a`, which can be used with the `ST r` effect.\n\n*From: Control.Monad.ST.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "STRef", "Control.Monad.ST.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "STRef" }, "sortText": "Z.STRef", "additionalTextEdits": null, "filterText": null, "insertText": "STRef", "kind": 3, "label": "STRef" }, { "detail": "Control.Monad.ST.Internal.Region -> Type -> Type", "documentation": { "kind": "markdown", "value": "The type `STRef r a` represents a mutable reference holding a value of\ntype `a`, which can be used with the `ST r` effect.\n\n*From: Control.Monad.ST.Ref*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "STRef", "Control.Monad.ST.Ref", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "STRef" }, "sortText": "Z.STRef", "additionalTextEdits": null, "filterText": null, "insertText": "STRef", "kind": 3, "label": "STRef" }, { "detail": "StateT s Identity", "documentation": { "kind": "markdown", "value": "The `State` monad is a synonym for the `StateT` monad transformer, applied\nto the `Identity` monad.\n\n*From: Control.Monad.State*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "State", "Control.Monad.State", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "State" }, "sortText": "Z.State", "additionalTextEdits": null, "filterText": null, "insertText": "State", "kind": 7, "label": "State" }, { "detail": "Type -> (Type -> Type) -> Type -> Type", "documentation": { "kind": "markdown", "value": "The state monad transformer.\n\nThis monad transformer extends the base monad with the operations `get`\nand `put` which can be used to model a single piece of mutable state.\n\nThe `MonadState` type class describes the operations supported by this monad.\n\n*From: Control.Monad.State*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "StateT", "Control.Monad.State", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "StateT" }, "sortText": "Z.StateT", "additionalTextEdits": null, "filterText": null, "insertText": "StateT", "kind": 3, "label": "StateT" }, { "detail": "∀ s m a. (s → m (Tuple a s)) → StateT s m a", "documentation": { "kind": "markdown", "value": "\n*From: Control.Monad.State*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "StateT", "Control.Monad.State", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "StateT" }, "sortText": "Z.StateT", "additionalTextEdits": null, "filterText": null, "insertText": "StateT", "kind": 7, "label": "StateT" }, { "detail": "Type -> (Type -> Type) -> Type -> Type", "documentation": { "kind": "markdown", "value": "The state monad transformer.\n\nThis monad transformer extends the base monad with the operations `get`\nand `put` which can be used to model a single piece of mutable state.\n\nThe `MonadState` type class describes the operations supported by this monad.\n\n*From: Control.Monad.State.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "StateT", "Control.Monad.State.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "StateT" }, "sortText": "Z.StateT", "additionalTextEdits": null, "filterText": null, "insertText": "StateT", "kind": 3, "label": "StateT" }, { "detail": "∀ s m a. (s → m (Tuple a s)) → StateT s m a", "documentation": { "kind": "markdown", "value": "\n*From: Control.Monad.State.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "StateT", "Control.Monad.State.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "StateT" }, "sortText": "Z.StateT", "additionalTextEdits": null, "filterText": null, "insertText": "StateT", "kind": 7, "label": "StateT" }, { "detail": "(Type -> Type -> Type) -> Type", "documentation": { "kind": "markdown", "value": "\n*From: Control.Semigroupoid*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Semigroupoid", "Control.Semigroupoid", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "Semigroupoid" }, "sortText": "Z.Semigroupoid", "additionalTextEdits": null, "filterText": null, "insertText": "Semigroupoid", "kind": 3, "label": "Semigroupoid" }, { "detail": "Control.Monad.ST.Internal.Region -> Type -> Type", "documentation": { "kind": "markdown", "value": "A reference to a mutable array.\n\nThe first type parameter represents the memory region which the array belongs to.\nThe second type parameter defines the type of elements of the mutable array.\n\nThe runtime representation of a value of type `STArray h a` is the same as that of `Array a`,\nexcept that mutation is allowed.\n\n*From: Data.Array.ST*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "STArray", "Data.Array.ST", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "STArray" }, "sortText": "Z.STArray", "additionalTextEdits": null, "filterText": null, "insertText": "STArray", "kind": 3, "label": "STArray" }, { "detail": "Type -> Type", "documentation": { "kind": "markdown", "value": "\n*From: Data.CommutativeRing*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Semiring", "Data.CommutativeRing", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "Semiring" }, "sortText": "Z.Semiring", "additionalTextEdits": null, "filterText": null, "insertText": "Semiring", "kind": 3, "label": "Semiring" }, { "detail": "Month", "documentation": { "kind": "markdown", "value": "\n*From: Data.Date*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "September", "Data.Date", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "September" }, "sortText": "Z.September", "additionalTextEdits": null, "filterText": null, "insertText": "September", "kind": 7, "label": "September" }, { "detail": "Weekday", "documentation": { "kind": "markdown", "value": "\n*From: Data.Date*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Saturday", "Data.Date", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "Saturday" }, "sortText": "Z.Saturday", "additionalTextEdits": null, "filterText": null, "insertText": "Saturday", "kind": 7, "label": "Saturday" }, { "detail": "Weekday", "documentation": { "kind": "markdown", "value": "\n*From: Data.Date*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Sunday", "Data.Date", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "Sunday" }, "sortText": "Z.Sunday", "additionalTextEdits": null, "filterText": null, "insertText": "Sunday", "kind": 7, "label": "Sunday" }, { "detail": "Month", "documentation": { "kind": "markdown", "value": "\n*From: Data.Date.Component*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "September", "Data.Date.Component", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "September" }, "sortText": "Z.September", "additionalTextEdits": null, "filterText": null, "insertText": "September", "kind": 7, "label": "September" }, { "detail": "Weekday", "documentation": { "kind": "markdown", "value": "\n*From: Data.Date.Component*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Saturday", "Data.Date.Component", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "Saturday" }, "sortText": "Z.Saturday", "additionalTextEdits": null, "filterText": null, "insertText": "Saturday", "kind": 7, "label": "Saturday" }, { "detail": "Weekday", "documentation": { "kind": "markdown", "value": "\n*From: Data.Date.Component*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Sunday", "Data.Date.Component", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "Sunday" }, "sortText": "Z.Sunday", "additionalTextEdits": null, "filterText": null, "insertText": "Sunday", "kind": 7, "label": "Sunday" }, { "detail": "Month", "documentation": { "kind": "markdown", "value": "\n*From: Data.DateTime*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "September", "Data.DateTime", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "September" }, "sortText": "Z.September", "additionalTextEdits": null, "filterText": null, "insertText": "September", "kind": 7, "label": "September" }, { "detail": "Type", "documentation": { "kind": "markdown", "value": "An second component for a time value.\n\nThe constructor is private as values for the type are restricted to the\nrange 0 to 59, inclusive. The `toEnum` function can be used to safely\nacquire an `Second` value from an integer. Correspondingly, a `Second` can\nbe lowered to a plain integer with the `fromEnum` function.\n\n*From: Data.DateTime*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Second", "Data.DateTime", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "Second" }, "sortText": "Z.Second", "additionalTextEdits": null, "filterText": null, "insertText": "Second", "kind": 7, "label": "Second" }, { "detail": "Weekday", "documentation": { "kind": "markdown", "value": "\n*From: Data.DateTime*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Saturday", "Data.DateTime", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "Saturday" }, "sortText": "Z.Saturday", "additionalTextEdits": null, "filterText": null, "insertText": "Saturday", "kind": 7, "label": "Saturday" }, { "detail": "Weekday", "documentation": { "kind": "markdown", "value": "\n*From: Data.DateTime*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Sunday", "Data.DateTime", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "Sunday" }, "sortText": "Z.Sunday", "additionalTextEdits": null, "filterText": null, "insertText": "Sunday", "kind": 7, "label": "Sunday" }, { "detail": "Type -> Type", "documentation": { "kind": "markdown", "value": "\n*From: Data.DivisionRing*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Semiring", "Data.DivisionRing", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "Semiring" }, "sortText": "Z.Semiring", "additionalTextEdits": null, "filterText": null, "insertText": "Semiring", "kind": 3, "label": "Semiring" }, { "detail": "Type -> Type", "documentation": { "kind": "markdown", "value": "\n*From: Data.EuclideanRing*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Semiring", "Data.EuclideanRing", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "Semiring" }, "sortText": "Z.Semiring", "additionalTextEdits": null, "filterText": null, "insertText": "Semiring", "kind": 3, "label": "Semiring" }, { "detail": "Type -> Type", "documentation": { "kind": "markdown", "value": "\n*From: Data.Field*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Semiring", "Data.Field", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "Semiring" }, "sortText": "Z.Semiring", "additionalTextEdits": null, "filterText": null, "insertText": "Semiring", "kind": 3, "label": "Semiring" }, { "detail": "Type -> Type -> Type", "documentation": { "kind": "markdown", "value": "A representation for types with multiple constructors.\n\n*From: Data.Generic.Rep*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Sum", "Data.Generic.Rep", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "Sum" }, "sortText": "Z.Sum", "additionalTextEdits": null, "filterText": null, "insertText": "Sum", "kind": 3, "label": "Sum" }, { "detail": "∀ d a. a → a → Interval d a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Interval*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "StartEnd", "Data.Interval", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "StartEnd" }, "sortText": "Z.StartEnd", "additionalTextEdits": null, "filterText": null, "insertText": "StartEnd", "kind": 7, "label": "StartEnd" }, { "detail": "∀ d a. a → d → Interval d a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Interval*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "StartDuration", "Data.Interval", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "StartDuration" }, "sortText": "Z.StartDuration", "additionalTextEdits": null, "filterText": null, "insertText": "StartDuration", "kind": 7, "label": "StartDuration" }, { "detail": "DurationComponent", "documentation": { "kind": "markdown", "value": "\n*From: Data.Interval*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Second", "Data.Interval", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "Second" }, "sortText": "Z.Second", "additionalTextEdits": null, "filterText": null, "insertText": "Second", "kind": 7, "label": "Second" }, { "detail": "DurationComponent", "documentation": { "kind": "markdown", "value": "\n*From: Data.Interval.Duration*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Second", "Data.Interval.Duration", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "Second" }, "sortText": "Z.Second", "additionalTextEdits": null, "filterText": null, "insertText": "Second", "kind": 7, "label": "Second" }, { "detail": "Type -> Type", "documentation": { "kind": "markdown", "value": "A list is either empty (represented by the `Nil` constructor) or non-empty, in\nwhich case it consists of a head element, and another list (represented by the\n`Cons` constructor).\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Step", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "Step" }, "sortText": "Z.Step", "additionalTextEdits": null, "filterText": null, "insertText": "Step", "kind": 3, "label": "Step" }, { "detail": "Type -> Type", "documentation": { "kind": "markdown", "value": "A list is either empty (represented by the `Nil` constructor) or non-empty, in\nwhich case it consists of a head element, and another list (represented by the\n`Cons` constructor).\n\n*From: Data.List.Lazy.Types*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Step", "Data.List.Lazy.Types", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "Step" }, "sortText": "Z.Step", "additionalTextEdits": null, "filterText": null, "insertText": "Step", "kind": 3, "label": "Step" }, { "detail": "Type -> Type", "documentation": { "kind": "markdown", "value": "\n*From: Data.Monoid*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Semigroup", "Data.Monoid", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "Semigroup" }, "sortText": "Z.Semigroup", "additionalTextEdits": null, "filterText": null, "insertText": "Semigroup", "kind": 3, "label": "Semigroup" }, { "detail": "Prim.RowList.RowList -> # Type -> # Type -> Type", "documentation": { "kind": "markdown", "value": "\n*From: Data.Monoid*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "SemigroupRecord", "Data.Monoid", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "SemigroupRecord" }, "sortText": "Z.SemigroupRecord", "additionalTextEdits": null, "filterText": null, "insertText": "SemigroupRecord", "kind": 3, "label": "SemigroupRecord" }, { "detail": "Type -> Type", "documentation": { "kind": "markdown", "value": "\n*From: Data.Ring*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Semiring", "Data.Ring", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "Semiring" }, "sortText": "Z.Semiring", "additionalTextEdits": null, "filterText": null, "insertText": "Semiring", "kind": 3, "label": "Semiring" }, { "detail": "Prim.RowList.RowList -> # Type -> # Type -> Type", "documentation": { "kind": "markdown", "value": "\n*From: Data.Ring*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "SemiringRecord", "Data.Ring", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "SemiringRecord" }, "sortText": "Z.SemiringRecord", "additionalTextEdits": null, "filterText": null, "insertText": "SemiringRecord", "kind": 3, "label": "SemiringRecord" }, { "detail": "Type -> Type", "documentation": { "kind": "markdown", "value": "\n*From: Data.Semigroup*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Semigroup", "Data.Semigroup", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "Semigroup" }, "sortText": "Z.Semigroup", "additionalTextEdits": null, "filterText": null, "insertText": "Semigroup", "kind": 3, "label": "Semigroup" }, { "detail": "Prim.RowList.RowList -> # Type -> # Type -> Type", "documentation": { "kind": "markdown", "value": "\n*From: Data.Semigroup*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "SemigroupRecord", "Data.Semigroup", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "SemigroupRecord" }, "sortText": "Z.SemigroupRecord", "additionalTextEdits": null, "filterText": null, "insertText": "SemigroupRecord", "kind": 3, "label": "SemigroupRecord" }, { "detail": "Type -> Type", "documentation": { "kind": "markdown", "value": "\n*From: Data.Semiring*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Semiring", "Data.Semiring", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "Semiring" }, "sortText": "Z.Semiring", "additionalTextEdits": null, "filterText": null, "insertText": "Semiring", "kind": 3, "label": "Semiring" }, { "detail": "Prim.RowList.RowList -> # Type -> # Type -> Type", "documentation": { "kind": "markdown", "value": "\n*From: Data.Semiring*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "SemiringRecord", "Data.Semiring", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "SemiringRecord" }, "sortText": "Z.SemiringRecord", "additionalTextEdits": null, "filterText": null, "insertText": "SemiringRecord", "kind": 3, "label": "SemiringRecord" }, { "detail": "Type -> Type", "documentation": { "kind": "markdown", "value": "`Set a` represents a set of values of type `a`\n\n*From: Data.Set*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Set", "Data.Set", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "Set" }, "sortText": "Z.Set", "additionalTextEdits": null, "filterText": null, "insertText": "Set", "kind": 3, "label": "Set" }, { "detail": "Type -> Type", "documentation": { "kind": "markdown", "value": "\n*From: Data.Show*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Show", "Data.Show", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "Show" }, "sortText": "Z.Show", "additionalTextEdits": null, "filterText": null, "insertText": "Show", "kind": 3, "label": "Show" }, { "detail": "Prim.RowList.RowList -> # Type -> Type", "documentation": { "kind": "markdown", "value": "\n*From: Data.Show*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "ShowRecordFields", "Data.Show", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "ShowRecordFields" }, "sortText": "Z.ShowRecordFields", "additionalTextEdits": null, "filterText": null, "insertText": "ShowRecordFields", "kind": 3, "label": "ShowRecordFields" }, { "detail": "Symbol -> Type", "documentation": { "kind": "markdown", "value": "A value-level proxy for a type-level symbol.\n\n*From: Data.Symbol*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "SProxy", "Data.Symbol", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "SProxy" }, "sortText": "Z.SProxy", "additionalTextEdits": null, "filterText": null, "insertText": "SProxy", "kind": 3, "label": "SProxy" }, { "detail": "∀ sym. SProxy sym", "documentation": { "kind": "markdown", "value": "\n*From: Data.Symbol*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "SProxy", "Data.Symbol", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "SProxy" }, "sortText": "Z.SProxy", "additionalTextEdits": null, "filterText": null, "insertText": "SProxy", "kind": 7, "label": "SProxy" }, { "detail": "Type", "documentation": { "kind": "markdown", "value": "An second component for a time value.\n\nThe constructor is private as values for the type are restricted to the\nrange 0 to 59, inclusive. The `toEnum` function can be used to safely\nacquire an `Second` value from an integer. Correspondingly, a `Second` can\nbe lowered to a plain integer with the `fromEnum` function.\n\n*From: Data.Time*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Second", "Data.Time", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "Second" }, "sortText": "Z.Second", "additionalTextEdits": null, "filterText": null, "insertText": "Second", "kind": 7, "label": "Second" }, { "detail": "Type", "documentation": { "kind": "markdown", "value": "An second component for a time value.\n\nThe constructor is private as values for the type are restricted to the\nrange 0 to 59, inclusive. The `toEnum` function can be used to safely\nacquire an `Second` value from an integer. Correspondingly, a `Second` can\nbe lowered to a plain integer with the `fromEnum` function.\n\n*From: Data.Time.Component*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Second", "Data.Time.Component", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "Second" }, "sortText": "Z.Second", "additionalTextEdits": null, "filterText": null, "insertText": "Second", "kind": 7, "label": "Second" }, { "detail": "Type", "documentation": { "kind": "markdown", "value": "A duration measured in seconds.\n\n*From: Data.Time.Duration*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Seconds", "Data.Time.Duration", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "Seconds" }, "sortText": "Z.Seconds", "additionalTextEdits": null, "filterText": null, "insertText": "Seconds", "kind": 7, "label": "Seconds" }, { "detail": "Number → Seconds", "documentation": { "kind": "markdown", "value": "\n*From: Data.Time.Duration*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Seconds", "Data.Time.Duration", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "Seconds" }, "sortText": "Z.Seconds", "additionalTextEdits": null, "filterText": null, "insertText": "Seconds", "kind": 7, "label": "Seconds" }, { "detail": "Type -> Type -> Type", "documentation": { "kind": "markdown", "value": "\n*From: Data.Traversable.Accum.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "StateL", "Data.Traversable.Accum.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "StateL" }, "sortText": "Z.StateL", "additionalTextEdits": null, "filterText": null, "insertText": "StateL", "kind": 3, "label": "StateL" }, { "detail": "∀ s a. (s → Accum s a) → StateL s a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Traversable.Accum.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "StateL", "Data.Traversable.Accum.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "StateL" }, "sortText": "Z.StateL", "additionalTextEdits": null, "filterText": null, "insertText": "StateL", "kind": 7, "label": "StateL" }, { "detail": "Type -> Type -> Type", "documentation": { "kind": "markdown", "value": "\n*From: Data.Traversable.Accum.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "StateR", "Data.Traversable.Accum.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "StateR" }, "sortText": "Z.StateR", "additionalTextEdits": null, "filterText": null, "insertText": "StateR", "kind": 3, "label": "StateR" }, { "detail": "∀ s a. (s → Accum s a) → StateR s a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Traversable.Accum.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "StateR", "Data.Traversable.Accum.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "StateR" }, "sortText": "Z.StateR", "additionalTextEdits": null, "filterText": null, "insertText": "StateR", "kind": 7, "label": "StateR" }, { "detail": "Control.Monad.ST.Internal.Region -> Type", "documentation": { "kind": "markdown", "value": "A reference to a mutable buffer for use with `ST`\n\nThe type parameter represents the memory region which the buffer belongs to.\n\n*From: Node.Buffer.ST*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "STBuffer", "Node.Buffer.ST", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "STBuffer" }, "sortText": "Z.STBuffer", "additionalTextEdits": null, "filterText": null, "insertText": "STBuffer", "kind": 3, "label": "STBuffer" }, { "detail": "Type", "documentation": { "kind": "markdown", "value": "Symlink varieties.\n\n*From: Node.FS*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "SymlinkType", "Node.FS", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "SymlinkType" }, "sortText": "Z.SymlinkType", "additionalTextEdits": null, "filterText": null, "insertText": "SymlinkType", "kind": 7, "label": "SymlinkType" }, { "detail": "{ atime ∷ JSDate , ctime ∷ JSDate , dev ∷ Number , gid ∷ Number , ino ∷ Number , isBlockDevice ∷ Fn0 Boolean , isCharacterDevice ∷ Fn0 Boolean , isDirectory ∷ Fn0 Boolean , isFIFO ∷ Fn0 Boolean , isFile ∷ Fn0 Boolean , isSocket ∷ Fn0 Boolean , mode ∷ Number , mtime ∷ JSDate , nlink ∷ Number , rdev ∷ Number , size ∷ Number , uid ∷ Number }", "documentation": { "kind": "markdown", "value": "\n*From: Node.FS.Stats*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "StatsObj", "Node.FS.Stats", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "StatsObj" }, "sortText": "Z.StatsObj", "additionalTextEdits": null, "filterText": null, "insertText": "StatsObj", "kind": 7, "label": "StatsObj" }, { "detail": "Type", "documentation": { "kind": "markdown", "value": "Stats wrapper to provide a usable interface to the underlying properties and methods.\n\n*From: Node.FS.Stats*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Stats", "Node.FS.Stats", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "Stats" }, "sortText": "Z.Stats", "additionalTextEdits": null, "filterText": null, "insertText": "Stats", "kind": 7, "label": "Stats" }, { "detail": "StatsObj → Stats", "documentation": { "kind": "markdown", "value": "\n*From: Node.FS.Stats*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Stats", "Node.FS.Stats", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "Stats" }, "sortText": "Z.Stats", "additionalTextEdits": null, "filterText": null, "insertText": "Stats", "kind": 7, "label": "Stats" }, { "detail": "# Type -> Type", "documentation": { "kind": "markdown", "value": "A stream.\n\nThe type arguments track, in order:\n\n- Whether reading and/or writing from/to the stream are allowed.\n- Effects associated with reading/writing from/to this stream.\n\n*From: Node.Stream*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Stream", "Node.Stream", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "Stream" }, "sortText": "Z.Stream", "additionalTextEdits": null, "filterText": null, "insertText": "Stream", "kind": 3, "label": "Stream" }, { "detail": "Proxy X Unit b' b", "documentation": { "kind": "markdown", "value": "\n*From: Pipes.Core*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Server", "Pipes.Core", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "Server" }, "sortText": "Z.Server", "additionalTextEdits": null, "filterText": null, "insertText": "Server", "kind": 7, "label": "Server" }, { "detail": "∀ x' x. Proxy x' x b' b m r", "documentation": { "kind": "markdown", "value": "\n*From: Pipes.Core*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Server_", "Pipes.Core", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "Server_" }, "sortText": "Z.Server_", "additionalTextEdits": null, "filterText": null, "insertText": "Server_", "kind": 7, "label": "Server_" }, { "detail": "∀ m a. Producer a m Unit → ListT m a", "documentation": { "kind": "markdown", "value": "\n*From: Pipes.ListT*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Select", "Pipes.ListT", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "Select" }, "sortText": "Z.Select", "additionalTextEdits": null, "filterText": null, "insertText": "Select", "kind": 7, "label": "Select" }, { "detail": "Type -> Type", "documentation": { "kind": "markdown", "value": "\n*From: Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Semigroup", "Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "Semigroup" }, "sortText": "Z.Semigroup", "additionalTextEdits": null, "filterText": null, "insertText": "Semigroup", "kind": 3, "label": "Semigroup" }, { "detail": "(Type -> Type -> Type) -> Type", "documentation": { "kind": "markdown", "value": "\n*From: Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Semigroupoid", "Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "Semigroupoid" }, "sortText": "Z.Semigroupoid", "additionalTextEdits": null, "filterText": null, "insertText": "Semigroupoid", "kind": 3, "label": "Semigroupoid" }, { "detail": "Type -> Type", "documentation": { "kind": "markdown", "value": "\n*From: Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Semiring", "Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "Semiring" }, "sortText": "Z.Semiring", "additionalTextEdits": null, "filterText": null, "insertText": "Semiring", "kind": 3, "label": "Semiring" }, { "detail": "Type -> Type", "documentation": { "kind": "markdown", "value": "\n*From: Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Show", "Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "Show" }, "sortText": "Z.Show", "additionalTextEdits": null, "filterText": null, "insertText": "Show", "kind": 3, "label": "Show" }, { "detail": "Type", "documentation": { "kind": "markdown", "value": "\n*From: Prim*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "String", "Prim", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "String" }, "sortText": "Z.String", "additionalTextEdits": null, "filterText": null, "insertText": "String", "kind": 7, "label": "String" }, { "detail": "kind", "documentation": { "kind": "markdown", "value": "\n*From: Prim*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Symbol", "Prim", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "Symbol" }, "sortText": "Z.Symbol", "additionalTextEdits": null, "filterText": null, "insertText": "Symbol", "kind": 7, "label": "Symbol" }, { "detail": "Type", "documentation": { "kind": "markdown", "value": "A seed for the linear congruential generator. We omit a `Semiring`\ninstance because there is no `zero` value, as 0 is not an acceptable\nseed for the generator.\n\n*From: Random.LCG*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Seed", "Random.LCG", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "Seed" }, "sortText": "Z.Seed", "additionalTextEdits": null, "filterText": null, "insertText": "Seed", "kind": 7, "label": "Seed" }, { "detail": "Control.Monad.ST.Internal.Region -> # Type -> Type", "documentation": { "kind": "markdown", "value": "A value of type `STRecord h r` represents a mutable record with fields `r`,\nbelonging to the state thread `h`.\n\nCreate values of type `STRecord` using `thaw`.\n\n*From: Record.ST*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "STRecord", "Record.ST", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "STRecord" }, "sortText": "Z.STRecord", "additionalTextEdits": null, "filterText": null, "insertText": "STRecord", "kind": 3, "label": "STRecord" }, { "detail": "module", "documentation": { "kind": "markdown", "value": "\n*From: Some*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Some", "Some", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "Some" }, "sortText": "Z.Some", "additionalTextEdits": null, "filterText": null, "insertText": "Some", "kind": 7, "label": "Some" }, { "detail": "Result", "documentation": { "kind": "markdown", "value": "\n*From: Test.QuickCheck*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Success", "Test.QuickCheck", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "Success" }, "sortText": "Z.Success", "additionalTextEdits": null, "filterText": null, "insertText": "Success", "kind": 7, "label": "Success" }, { "detail": "Type", "documentation": { "kind": "markdown", "value": "A seed for the linear congruential generator. We omit a `Semiring`\ninstance because there is no `zero` value, as 0 is not an acceptable\nseed for the generator.\n\n*From: Test.QuickCheck*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Seed", "Test.QuickCheck", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "Seed" }, "sortText": "Z.Seed", "additionalTextEdits": null, "filterText": null, "insertText": "Seed", "kind": 7, "label": "Seed" }, { "detail": "Int", "documentation": { "kind": "markdown", "value": "Tests are parameterized by the `Size` of the randomly-generated data,\nthe meaning of which depends on the particular generator used.\n\n*From: Test.QuickCheck.Gen*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Size", "Test.QuickCheck.Gen", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "Size" }, "sortText": "Z.Size", "additionalTextEdits": null, "filterText": null, "insertText": "Size", "kind": 7, "label": "Size" }, { "detail": "SpecT Aff Unit Identity a", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Spec", "Test.Spec", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "Spec" }, "sortText": "Z.Spec", "additionalTextEdits": null, "filterText": null, "insertText": "Spec", "kind": 7, "label": "Spec" }, { "detail": "Tree (ActionWith m a) (Item m a)", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "SpecTree", "Test.Spec", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "SpecTree" }, "sortText": "Z.SpecTree", "additionalTextEdits": null, "filterText": null, "insertText": "SpecTree", "kind": 7, "label": "SpecTree" }, { "detail": "(Type -> Type) -> Type -> (Type -> Type) -> Type -> Type", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "SpecT", "Test.Spec", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "SpecT" }, "sortText": "Z.SpecT", "additionalTextEdits": null, "filterText": null, "insertText": "SpecT", "kind": 3, "label": "SpecT" }, { "detail": "∀ g i m a. WriterT (Array (SpecTree g i)) m a → SpecT g i m a", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "SpecT", "Test.Spec", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "SpecT" }, "sortText": "Z.SpecT", "additionalTextEdits": null, "filterText": null, "insertText": "SpecT", "kind": 7, "label": "SpecT" }, { "detail": "Speed → Milliseconds → Result", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Result*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Success", "Test.Spec.Result", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "Success" }, "sortText": "Z.Success", "additionalTextEdits": null, "filterText": null, "insertText": "Success", "kind": 7, "label": "Success" }, { "detail": "Execution", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Runner.Event*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Sequential", "Test.Spec.Runner.Event", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "Sequential" }, "sortText": "Z.Sequential", "additionalTextEdits": null, "filterText": null, "insertText": "Sequential", "kind": 7, "label": "Sequential" }, { "detail": "NumberOfTests → Event", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Runner.Event*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Start", "Test.Spec.Runner.Event", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "Start" }, "sortText": "Z.Start", "additionalTextEdits": null, "filterText": null, "insertText": "Start", "kind": 7, "label": "Start" }, { "detail": "Execution → Path → Name → Event", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Runner.Event*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Suite", "Test.Spec.Runner.Event", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "Suite" }, "sortText": "Z.Suite", "additionalTextEdits": null, "filterText": null, "insertText": "Suite", "kind": 7, "label": "Suite" }, { "detail": "Path → Event", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Runner.Event*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "SuiteEnd", "Test.Spec.Runner.Event", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "SuiteEnd" }, "sortText": "Z.SuiteEnd", "additionalTextEdits": null, "filterText": null, "insertText": "SuiteEnd", "kind": 7, "label": "SuiteEnd" }, { "detail": "Type", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Speed*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Speed", "Test.Spec.Speed", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "Speed" }, "sortText": "Z.Speed", "additionalTextEdits": null, "filterText": null, "insertText": "Speed", "kind": 7, "label": "Speed" }, { "detail": "Speed", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Speed*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Slow", "Test.Spec.Speed", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "Slow" }, "sortText": "Z.Slow", "additionalTextEdits": null, "filterText": null, "insertText": "Slow", "kind": 7, "label": "Slow" }, { "detail": "Array GraphicsParam", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Style*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Style", "Test.Spec.Style", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "Style" }, "sortText": "Z.Style", "additionalTextEdits": null, "filterText": null, "insertText": "Style", "kind": 7, "label": "Style" }, { "detail": "Type", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Summary*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Summary", "Test.Spec.Summary", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 8, "line": 6 }, "end": { "line": 6, "character": 9 } }, "newText": "Summary" }, "sortText": "Z.Summary", "additionalTextEdits": null, "filterText": null, "insertText": "Summary", "kind": 7, "label": "Summary" } ], "isIncomplete": false } [Trace - 4:16:35 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 34 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec)\n\nspec :: Spec U\n" } ] } [Trace - 4:16:35 PM] Sending request 'textDocument/completion - (22)'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" }, "position": { "line": 6, "character": 14 }, "context": { "triggerKind": 1 } } [Trace - 4:16:35 PM] Received notification 'window/logMessage'. Params: { "type": 3, "message": "[Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead\n" } [Info - 4:16:35 PM] [Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead [Trace - 4:16:35 PM] Received response 'textDocument/completion - (22)' in 15ms. Result: { "items": [ { "detail": "Int → EscapeCode", "documentation": { "kind": "markdown", "value": "\n*From: Ansi.Codes*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Up", "Ansi.Codes", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 13, "line": 6 }, "end": { "line": 6, "character": 14 } }, "newText": "Up" }, "sortText": "Z.Up", "additionalTextEdits": null, "filterText": null, "insertText": "Up", "kind": 7, "label": "Up" }, { "detail": "RenderingMode", "documentation": { "kind": "markdown", "value": "\n*From: Ansi.Codes*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Underline", "Ansi.Codes", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 13, "line": 6 }, "end": { "line": 6, "character": 14 } }, "newText": "Underline" }, "sortText": "Z.Underline", "additionalTextEdits": null, "filterText": null, "insertText": "Underline", "kind": 7, "label": "Underline" }, { "detail": "ArrayView Uint8", "documentation": { "kind": "markdown", "value": "\n*From: Data.ArrayBuffer.Types*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Uint8Array", "Data.ArrayBuffer.Types", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 13, "line": 6 }, "end": { "line": 6, "character": 14 } }, "newText": "Uint8Array" }, "sortText": "Z.Uint8Array", "additionalTextEdits": null, "filterText": null, "insertText": "Uint8Array", "kind": 7, "label": "Uint8Array" }, { "detail": "ArrayView Uint16", "documentation": { "kind": "markdown", "value": "\n*From: Data.ArrayBuffer.Types*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Uint16Array", "Data.ArrayBuffer.Types", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 13, "line": 6 }, "end": { "line": 6, "character": 14 } }, "newText": "Uint16Array" }, "sortText": "Z.Uint16Array", "additionalTextEdits": null, "filterText": null, "insertText": "Uint16Array", "kind": 7, "label": "Uint16Array" }, { "detail": "ArrayView Uint32", "documentation": { "kind": "markdown", "value": "\n*From: Data.ArrayBuffer.Types*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Uint32Array", "Data.ArrayBuffer.Types", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 13, "line": 6 }, "end": { "line": 6, "character": 14 } }, "newText": "Uint32Array" }, "sortText": "Z.Uint32Array", "additionalTextEdits": null, "filterText": null, "insertText": "Uint32Array", "kind": 7, "label": "Uint32Array" }, { "detail": "ArrayView Uint8Clamped", "documentation": { "kind": "markdown", "value": "\n*From: Data.ArrayBuffer.Types*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Uint8ClampedArray", "Data.ArrayBuffer.Types", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 13, "line": 6 }, "end": { "line": 6, "character": 14 } }, "newText": "Uint8ClampedArray" }, "sortText": "Z.Uint8ClampedArray", "additionalTextEdits": null, "filterText": null, "insertText": "Uint8ClampedArray", "kind": 7, "label": "Uint8ClampedArray" }, { "detail": "Data.ArrayBuffer.Types.ArrayViewType", "documentation": { "kind": "markdown", "value": "\n*From: Data.ArrayBuffer.Types*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Uint8", "Data.ArrayBuffer.Types", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 13, "line": 6 }, "end": { "line": 6, "character": 14 } }, "newText": "Uint8" }, "sortText": "Z.Uint8", "additionalTextEdits": null, "filterText": null, "insertText": "Uint8", "kind": 7, "label": "Uint8" }, { "detail": "Data.ArrayBuffer.Types.ArrayViewType", "documentation": { "kind": "markdown", "value": "\n*From: Data.ArrayBuffer.Types*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Uint16", "Data.ArrayBuffer.Types", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 13, "line": 6 }, "end": { "line": 6, "character": 14 } }, "newText": "Uint16" }, "sortText": "Z.Uint16", "additionalTextEdits": null, "filterText": null, "insertText": "Uint16", "kind": 7, "label": "Uint16" }, { "detail": "Data.ArrayBuffer.Types.ArrayViewType", "documentation": { "kind": "markdown", "value": "\n*From: Data.ArrayBuffer.Types*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Uint32", "Data.ArrayBuffer.Types", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 13, "line": 6 }, "end": { "line": 6, "character": 14 } }, "newText": "Uint32" }, "sortText": "Z.Uint32", "additionalTextEdits": null, "filterText": null, "insertText": "Uint32", "kind": 7, "label": "Uint32" }, { "detail": "Data.ArrayBuffer.Types.ArrayViewType", "documentation": { "kind": "markdown", "value": "\n*From: Data.ArrayBuffer.Types*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Uint8Clamped", "Data.ArrayBuffer.Types", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 13, "line": 6 }, "end": { "line": 6, "character": 14 } }, "newText": "Uint8Clamped" }, "sortText": "Z.Uint8Clamped", "additionalTextEdits": null, "filterText": null, "insertText": "Uint8Clamped", "kind": 7, "label": "Uint8Clamped" }, { "detail": "(Type -> Type) -> Type", "documentation": { "kind": "markdown", "value": "\n*From: Data.Unfoldable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Unfoldable", "Data.Unfoldable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 13, "line": 6 }, "end": { "line": 6, "character": 14 } }, "newText": "Unfoldable" }, "sortText": "Z.Unfoldable", "additionalTextEdits": null, "filterText": null, "insertText": "Unfoldable", "kind": 3, "label": "Unfoldable" }, { "detail": "(Type -> Type) -> Type", "documentation": { "kind": "markdown", "value": "\n*From: Data.Unfoldable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Unfoldable1", "Data.Unfoldable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 13, "line": 6 }, "end": { "line": 6, "character": 14 } }, "newText": "Unfoldable1" }, "sortText": "Z.Unfoldable1", "additionalTextEdits": null, "filterText": null, "insertText": "Unfoldable1", "kind": 3, "label": "Unfoldable1" }, { "detail": "(Type -> Type) -> Type", "documentation": { "kind": "markdown", "value": "\n*From: Data.Unfoldable1*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Unfoldable1", "Data.Unfoldable1", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 13, "line": 6 }, "end": { "line": 6, "character": 14 } }, "newText": "Unfoldable1" }, "sortText": "Z.Unfoldable1", "additionalTextEdits": null, "filterText": null, "insertText": "Unfoldable1", "kind": 3, "label": "Unfoldable1" }, { "detail": "Type", "documentation": { "kind": "markdown", "value": "The `Unit` type has a single inhabitant, called `unit`. It represents\nvalues with no computational content.\n\n`Unit` is often used, wrapped in a monadic type constructor, as the\nreturn type of a computation where only the _effects_ are important.\n\n*From: Data.Unit*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Unit", "Data.Unit", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 13, "line": 6 }, "end": { "line": 6, "character": 14 } }, "newText": "Unit" }, "sortText": "Z.Unit", "additionalTextEdits": null, "filterText": null, "insertText": "Unit", "kind": 7, "label": "Unit" }, { "detail": "BufferValueType", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "UInt16BE", "Node.Buffer", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 13, "line": 6 }, "end": { "line": 6, "character": 14 } }, "newText": "UInt16BE" }, "sortText": "Z.UInt16BE", "additionalTextEdits": null, "filterText": null, "insertText": "UInt16BE", "kind": 7, "label": "UInt16BE" }, { "detail": "BufferValueType", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "UInt16LE", "Node.Buffer", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 13, "line": 6 }, "end": { "line": 6, "character": 14 } }, "newText": "UInt16LE" }, "sortText": "Z.UInt16LE", "additionalTextEdits": null, "filterText": null, "insertText": "UInt16LE", "kind": 7, "label": "UInt16LE" }, { "detail": "BufferValueType", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "UInt32BE", "Node.Buffer", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 13, "line": 6 }, "end": { "line": 6, "character": 14 } }, "newText": "UInt32BE" }, "sortText": "Z.UInt32BE", "additionalTextEdits": null, "filterText": null, "insertText": "UInt32BE", "kind": 7, "label": "UInt32BE" }, { "detail": "BufferValueType", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "UInt32LE", "Node.Buffer", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 13, "line": 6 }, "end": { "line": 6, "character": 14 } }, "newText": "UInt32LE" }, "sortText": "Z.UInt32LE", "additionalTextEdits": null, "filterText": null, "insertText": "UInt32LE", "kind": 7, "label": "UInt32LE" }, { "detail": "BufferValueType", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "UInt8", "Node.Buffer", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 13, "line": 6 }, "end": { "line": 6, "character": 14 } }, "newText": "UInt8" }, "sortText": "Z.UInt8", "additionalTextEdits": null, "filterText": null, "insertText": "UInt8", "kind": 7, "label": "UInt8" }, { "detail": "BufferValueType", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer.Types*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "UInt8", "Node.Buffer.Types", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 13, "line": 6 }, "end": { "line": 6, "character": 14 } }, "newText": "UInt8" }, "sortText": "Z.UInt8", "additionalTextEdits": null, "filterText": null, "insertText": "UInt8", "kind": 7, "label": "UInt8" }, { "detail": "BufferValueType", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer.Types*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "UInt16LE", "Node.Buffer.Types", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 13, "line": 6 }, "end": { "line": 6, "character": 14 } }, "newText": "UInt16LE" }, "sortText": "Z.UInt16LE", "additionalTextEdits": null, "filterText": null, "insertText": "UInt16LE", "kind": 7, "label": "UInt16LE" }, { "detail": "BufferValueType", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer.Types*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "UInt16BE", "Node.Buffer.Types", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 13, "line": 6 }, "end": { "line": 6, "character": 14 } }, "newText": "UInt16BE" }, "sortText": "Z.UInt16BE", "additionalTextEdits": null, "filterText": null, "insertText": "UInt16BE", "kind": 7, "label": "UInt16BE" }, { "detail": "BufferValueType", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer.Types*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "UInt32LE", "Node.Buffer.Types", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 13, "line": 6 }, "end": { "line": 6, "character": 14 } }, "newText": "UInt32LE" }, "sortText": "Z.UInt32LE", "additionalTextEdits": null, "filterText": null, "insertText": "UInt32LE", "kind": 7, "label": "UInt32LE" }, { "detail": "BufferValueType", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer.Types*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "UInt32BE", "Node.Buffer.Types", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 13, "line": 6 }, "end": { "line": 6, "character": 14 } }, "newText": "UInt32BE" }, "sortText": "Z.UInt32BE", "additionalTextEdits": null, "filterText": null, "insertText": "UInt32BE", "kind": 7, "label": "UInt32BE" }, { "detail": "Encoding", "documentation": { "kind": "markdown", "value": "\n*From: Node.Encoding*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "UTF8", "Node.Encoding", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 13, "line": 6 }, "end": { "line": 6, "character": 14 } }, "newText": "UTF8" }, "sortText": "Z.UTF8", "additionalTextEdits": null, "filterText": null, "insertText": "UTF8", "kind": 7, "label": "UTF8" }, { "detail": "Encoding", "documentation": { "kind": "markdown", "value": "\n*From: Node.Encoding*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "UTF16LE", "Node.Encoding", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 13, "line": 6 }, "end": { "line": 6, "character": 14 } }, "newText": "UTF16LE" }, "sortText": "Z.UTF16LE", "additionalTextEdits": null, "filterText": null, "insertText": "UTF16LE", "kind": 7, "label": "UTF16LE" }, { "detail": "Encoding", "documentation": { "kind": "markdown", "value": "\n*From: Node.Encoding*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "UCS2", "Node.Encoding", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 13, "line": 6 }, "end": { "line": 6, "character": 14 } }, "newText": "UCS2" }, "sortText": "Z.UCS2", "additionalTextEdits": null, "filterText": null, "insertText": "UCS2", "kind": 7, "label": "UCS2" }, { "detail": "Type", "documentation": { "kind": "markdown", "value": "The `Unit` type has a single inhabitant, called `unit`. It represents\nvalues with no computational content.\n\n`Unit` is often used, wrapped in a monadic type constructor, as the\nreturn type of a computation where only the _effects_ are important.\n\n*From: Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Unit", "Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 13, "line": 6 }, "end": { "line": 6, "character": 14 } }, "newText": "Unit" }, "sortText": "Z.Unit", "additionalTextEdits": null, "filterText": null, "insertText": "Unit", "kind": 7, "label": "Unit" }, { "detail": "module", "documentation": { "kind": "markdown", "value": "\n*From: Unsafe.Coerce*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Unsafe.Coerce", "Unsafe.Coerce", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 13, "line": 6 }, "end": { "line": 6, "character": 14 } }, "newText": "Unsafe.Coerce" }, "sortText": "Z.Unsafe.Coerce", "additionalTextEdits": null, "filterText": null, "insertText": "Unsafe.Coerce", "kind": 7, "label": "Unsafe.Coerce" }, { "detail": "module", "documentation": { "kind": "markdown", "value": "\n*From: Utils.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Utils.Array", "Utils.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 13, "line": 6 }, "end": { "line": 6, "character": 14 } }, "newText": "Utils.Array" }, "sortText": "Z.Utils.Array", "additionalTextEdits": null, "filterText": null, "insertText": "Utils.Array", "kind": 7, "label": "Utils.Array" }, { "detail": "module", "documentation": { "kind": "markdown", "value": "\n*From: Utils.Char*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Utils.Char", "Utils.Char", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 13, "line": 6 }, "end": { "line": 6, "character": 14 } }, "newText": "Utils.Char" }, "sortText": "Z.Utils.Char", "additionalTextEdits": null, "filterText": null, "insertText": "Utils.Char", "kind": 7, "label": "Utils.Char" }, { "detail": "module", "documentation": { "kind": "markdown", "value": "\n*From: Utils.Math*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Utils.Math", "Utils.Math", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 13, "line": 6 }, "end": { "line": 6, "character": 14 } }, "newText": "Utils.Math" }, "sortText": "Z.Utils.Math", "additionalTextEdits": null, "filterText": null, "insertText": "Utils.Math", "kind": 7, "label": "Utils.Math" }, { "detail": "module", "documentation": { "kind": "markdown", "value": "\n*From: Utils.String*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Utils.String", "Utils.String", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 13, "line": 6 }, "end": { "line": 6, "character": 14 } }, "newText": "Utils.String" }, "sortText": "Z.Utils.String", "additionalTextEdits": null, "filterText": null, "insertText": "Utils.String", "kind": 7, "label": "Utils.String" } ], "isIncomplete": false } [Trace - 4:16:35 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 35 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec)\n\nspec :: Spec Unit\n\n" } ] } [Trace - 4:16:36 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 36 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec)\n\nspec :: Spec Unit\n\n\n" } ] } [Trace - 4:16:36 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 37 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec)\n\nspec :: Spec Unit\n\n" } ] } [Trace - 4:16:36 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 38 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec)\n\nspec :: Spec Unit\ns\n" } ] } [Trace - 4:16:36 PM] Sending request 'textDocument/completion - (23)'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" }, "position": { "line": 7, "character": 1 }, "context": { "triggerKind": 1 } } [Trace - 4:16:36 PM] Received notification 'window/logMessage'. Params: { "type": 3, "message": "[Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead\n" } [Info - 4:16:36 PM] [Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead [Trace - 4:16:36 PM] Received response 'textDocument/completion - (23)' in 59ms. Result: { "items": [ { "detail": "NonEmptyList GraphicsParam", "documentation": { "kind": "markdown", "value": "\n*From: Ansi.Output*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "strikethrough", "Ansi.Output", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "strikethrough" }, "sortText": "Z.strikethrough", "additionalTextEdits": null, "filterText": null, "insertText": "strikethrough", "kind": 12, "label": "strikethrough" }, { "detail": "∀ s a. (s → a) → s → Store s a", "documentation": { "kind": "markdown", "value": "Create a value in context in the `Store` comonad.\n\n*From: Control.Comonad.Store*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "store", "Control.Comonad.Store", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "store" }, "sortText": "Z.store", "additionalTextEdits": null, "filterText": null, "insertText": "store", "kind": 12, "label": "store" }, { "detail": "∀ s a w. ComonadStore s w ⇒ s → w a → w a", "documentation": { "kind": "markdown", "value": "Reposition the focus at the specified position.\n\n*From: Control.Comonad.Store*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "seek", "Control.Comonad.Store", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "seek" }, "sortText": "Z.seek", "additionalTextEdits": null, "filterText": null, "insertText": "seek", "kind": 12, "label": "seek" }, { "detail": "∀ s a w. ComonadStore s w ⇒ (s → s) → w a → w a", "documentation": { "kind": "markdown", "value": "Reposition the focus at the specified position, which depends on the current position.\n\n*From: Control.Comonad.Store*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "seeks", "Control.Comonad.Store", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "seeks" }, "sortText": "Z.seeks", "additionalTextEdits": null, "filterText": null, "insertText": "seeks", "kind": 12, "label": "seeks" }, { "detail": "∀ s a w. ComonadStore s w ⇒ s → w a → w a", "documentation": { "kind": "markdown", "value": "Reposition the focus at the specified position.\n\n*From: Control.Comonad.Store.Class*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "seek", "Control.Comonad.Store.Class", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "seek" }, "sortText": "Z.seek", "additionalTextEdits": null, "filterText": null, "insertText": "seek", "kind": 12, "label": "seek" }, { "detail": "∀ s a w. ComonadStore s w ⇒ (s → s) → w a → w a", "documentation": { "kind": "markdown", "value": "Reposition the focus at the specified position, which depends on the current position.\n\n*From: Control.Comonad.Store.Class*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "seeks", "Control.Comonad.Store.Class", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "seeks" }, "sortText": "Z.seeks", "additionalTextEdits": null, "filterText": null, "insertText": "seeks", "kind": 12, "label": "seeks" }, { "detail": "∀ a m f. MonadFork f m ⇒ m a → m (f a)", "documentation": { "kind": "markdown", "value": "\n*From: Control.Monad.Fork.Class*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "suspend", "Control.Monad.Fork.Class", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "suspend" }, "sortText": "Z.suspend", "additionalTextEdits": null, "filterText": null, "insertText": "suspend", "kind": 12, "label": "suspend" }, { "detail": "∀ f. Applicative f ⇒ Free f ~> Free f", "documentation": { "kind": "markdown", "value": "Suspend a value given the applicative functor `f` into the free monad.\n\n*From: Control.Monad.Free*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "suspendF", "Control.Monad.Free", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "suspendF" }, "sortText": "Z.suspendF", "additionalTextEdits": null, "filterText": null, "insertText": "suspendF", "kind": 12, "label": "suspendF" }, { "detail": "∀ f g. (f ~> Free g) → Free f ~> Free g", "documentation": { "kind": "markdown", "value": "Like `foldFree`, but for folding into some other Free monad without the\noverhead that `MonadRec` incurs.\n\n*From: Control.Monad.Free*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "substFree", "Control.Monad.Free", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "substFree" }, "sortText": "Z.substFree", "additionalTextEdits": null, "filterText": null, "insertText": "substFree", "kind": 12, "label": "substFree" }, { "detail": "∀ m a. MonadRec m ⇒ MonadGen m ⇒ m a → (a → Boolean) → m a", "documentation": { "kind": "markdown", "value": "Creates a generator that repeatedly run another generator until its output\nmatches a given predicate. This will never halt if the predicate always\nfails.\n\n*From: Control.Monad.Gen*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "suchThat", "Control.Monad.Gen", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "suchThat" }, "sortText": "Z.suchThat", "additionalTextEdits": null, "filterText": null, "insertText": "suchThat", "kind": 12, "label": "suchThat" }, { "detail": "∀ a m. MonadGen m ⇒ (Int → m a) → m a", "documentation": { "kind": "markdown", "value": "\n*From: Control.Monad.Gen*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sized", "Control.Monad.Gen", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "sized" }, "sortText": "Z.sized", "additionalTextEdits": null, "filterText": null, "insertText": "sized", "kind": 12, "label": "sized" }, { "detail": "∀ a m. MonadGen m ⇒ (Int → m a) → m a", "documentation": { "kind": "markdown", "value": "\n*From: Control.Monad.Gen.Class*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sized", "Control.Monad.Gen.Class", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "sized" }, "sortText": "Z.sized", "additionalTextEdits": null, "filterText": null, "insertText": "sized", "kind": 12, "label": "sized" }, { "detail": "∀ f a b. Monad f ⇒ (b → a → b) → b → ListT f a → ListT f b", "documentation": { "kind": "markdown", "value": "Fold a list from the left, accumulating the list of results using the specified function.\n\n*From: Control.Monad.List.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "scanl", "Control.Monad.List.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "scanl" }, "sortText": "Z.scanl", "additionalTextEdits": null, "filterText": null, "insertText": "scanl", "kind": 12, "label": "scanl" }, { "detail": "∀ f a. Applicative f ⇒ a → ListT f a", "documentation": { "kind": "markdown", "value": "Create a list with one element.\n\n*From: Control.Monad.List.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "singleton", "Control.Monad.List.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "singleton" }, "sortText": "Z.singleton", "additionalTextEdits": null, "filterText": null, "insertText": "singleton", "kind": 12, "label": "singleton" }, { "detail": "∀ m t. Monad m ⇒ MMonad t ⇒ t (t m) ~> t m", "documentation": { "kind": "markdown", "value": "\n*From: Control.Monad.Morph*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "squash", "Control.Monad.Morph", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "squash" }, "sortText": "Z.squash", "additionalTextEdits": null, "filterText": null, "insertText": "squash", "kind": 12, "label": "squash" }, { "detail": "∀ a m s. MonadState s m ⇒ (s → Tuple a s) → m a", "documentation": { "kind": "markdown", "value": "\n*From: Control.Monad.RWS*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "state", "Control.Monad.RWS", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "state" }, "sortText": "Z.state", "additionalTextEdits": null, "filterText": null, "insertText": "state", "kind": 12, "label": "state" }, { "detail": "∀ a m s. MonadState s m ⇒ (s → Tuple a s) → m a", "documentation": { "kind": "markdown", "value": "\n*From: Control.Monad.State*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "state", "Control.Monad.State", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "state" }, "sortText": "Z.state", "additionalTextEdits": null, "filterText": null, "insertText": "state", "kind": 12, "label": "state" }, { "detail": "∀ a m s. MonadState s m ⇒ (s → Tuple a s) → m a", "documentation": { "kind": "markdown", "value": "\n*From: Control.Monad.State.Class*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "state", "Control.Monad.State.Class", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "state" }, "sortText": "Z.state", "additionalTextEdits": null, "filterText": null, "insertText": "state", "kind": 12, "label": "state" }, { "detail": "∀ a m s. MonadState s m ⇒ (s → Tuple a s) → m a", "documentation": { "kind": "markdown", "value": "\n*From: Control.Monad.State.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "state", "Control.Monad.State.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "state" }, "sortText": "Z.state", "additionalTextEdits": null, "filterText": null, "insertText": "state", "kind": 12, "label": "state" }, { "detail": "∀ m f. Parallel f m ⇒ (∀ a. f a → m a)", "documentation": { "kind": "markdown", "value": "\n*From: Control.Parallel*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sequential", "Control.Parallel", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "sequential" }, "sortText": "Z.sequential", "additionalTextEdits": null, "filterText": null, "insertText": "sequential", "kind": 12, "label": "sequential" }, { "detail": "∀ m f. Parallel f m ⇒ (∀ a. f a → m a)", "documentation": { "kind": "markdown", "value": "\n*From: Control.Parallel.Class*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sequential", "Control.Parallel.Class", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "sequential" }, "sortText": "Z.sequential", "additionalTextEdits": null, "filterText": null, "insertText": "sequential", "kind": 12, "label": "sequential" }, { "detail": "∀ a. a → Array a", "documentation": { "kind": "markdown", "value": "Create an array of one element\n```purescript\nsingleton 2 = [2]\n```\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "singleton", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "singleton" }, "sortText": "Z.singleton", "additionalTextEdits": null, "filterText": null, "insertText": "singleton", "kind": 12, "label": "singleton" }, { "detail": "∀ f a. Alternative f ⇒ Lazy (f (Array a)) ⇒ f a → f (Array a)", "documentation": { "kind": "markdown", "value": "Attempt a computation multiple times, requiring at least one success.\n\nThe `Lazy` constraint is used to generate the result lazily, to ensure\ntermination.\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "some", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "some" }, "sortText": "Z.some", "additionalTextEdits": null, "filterText": null, "insertText": "some", "kind": 12, "label": "some" }, { "detail": "∀ a. Array a → a → Array a", "documentation": { "kind": "markdown", "value": "Append an element to the end of an array, creating a new array.\n\n```purescript\nsnoc [1, 2, 3] 4 = [1, 2, 3, 4]\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "snoc", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "snoc" }, "sortText": "Z.snoc", "additionalTextEdits": null, "filterText": null, "insertText": "snoc", "kind": 12, "label": "snoc" }, { "detail": "∀ a. Ord a ⇒ Array a → Array a", "documentation": { "kind": "markdown", "value": "Sort the elements of an array in increasing order, creating a new array.\n\n```purescript\nsort [2, -3, 1] = [-3, 1, 2]\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sort", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "sort" }, "sortText": "Z.sort", "additionalTextEdits": null, "filterText": null, "insertText": "sort", "kind": 12, "label": "sort" }, { "detail": "∀ a. (a → a → Ordering) → Array a → Array a", "documentation": { "kind": "markdown", "value": "Sort the elements of an array in increasing order, where elements are\ncompared using the specified partial ordering, creating a new array.\n\n```purescript\ncompareLength a b = compare (length a) (length b)\nsortBy compareLength [[1, 2, 3], [7, 9], [-2]] = [[-2],[7,9],[1,2,3]]\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sortBy", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "sortBy" }, "sortText": "Z.sortBy", "additionalTextEdits": null, "filterText": null, "insertText": "sortBy", "kind": 12, "label": "sortBy" }, { "detail": "∀ a b. Ord b ⇒ (a → b) → Array a → Array a", "documentation": { "kind": "markdown", "value": "Sort the elements of an array in increasing order, where elements are\nsorted based on a projection\n\n```purescript\nsortWith (_.age) [{name: \"Alice\", age: 42}, {name: \"Bob\", age: 21}]\n = [{name: \"Bob\", age: 21}, {name: \"Alice\", age: 42}]\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sortWith", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "sortWith" }, "sortText": "Z.sortWith", "additionalTextEdits": null, "filterText": null, "insertText": "sortWith", "kind": 12, "label": "sortWith" }, { "detail": "∀ a. Int → Int → Array a → Array a", "documentation": { "kind": "markdown", "value": "Extract a subarray by a start and end index.\n\n```purescript\nletters = [\"a\", \"b\", \"c\"]\nslice 1 3 letters = [\"b\", \"c\"]\nslice 5 7 letters = []\nslice 4 1 letters = []\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "slice", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "slice" }, "sortText": "Z.slice", "additionalTextEdits": null, "filterText": null, "insertText": "slice", "kind": 12, "label": "slice" }, { "detail": "∀ a. (a → Boolean) → Array a → { init ∷ Array a , rest ∷ Array a }", "documentation": { "kind": "markdown", "value": "Split an array into two parts:\n\n1. the longest initial subarray for which all elements satisfy the\n specified predicate\n2. the remaining elements\n\n```purescript\nspan (\\n -> n % 2 == 1) [1,3,2,4,5] == { init: [1,3], rest: [2,4,5] }\n```\n\nRunning time: `O(n)`.\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "span", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "span" }, "sortText": "Z.span", "additionalTextEdits": null, "filterText": null, "insertText": "span", "kind": 12, "label": "span" }, { "detail": "∀ a b f. Traversable f ⇒ (b → a → b) → b → f a → f b", "documentation": { "kind": "markdown", "value": "Fold a data structure from the left, keeping all intermediate results\ninstead of only the final result. Note that the initial value does not\nappear in the result (unlike Haskell's `Prelude.scanl`).\n\n```purescript\nscanl (+) 0 [1,2,3] = [1,3,6]\nscanl (-) 10 [1,2,3] = [9,7,4]\n```\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "scanl", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "scanl" }, "sortText": "Z.scanl", "additionalTextEdits": null, "filterText": null, "insertText": "scanl", "kind": 12, "label": "scanl" }, { "detail": "∀ a b f. Traversable f ⇒ (a → b → b) → b → f a → f b", "documentation": { "kind": "markdown", "value": "Fold a data structure from the right, keeping all intermediate results\ninstead of only the final result. Note that the initial value does not\nappear in the result (unlike Haskell's `Prelude.scanr`).\n\n```purescript\nscanr (+) 0 [1,2,3] = [6,5,3]\nscanr (flip (-)) 10 [1,2,3] = [4,5,7]\n```\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "scanr", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "scanr" }, "sortText": "Z.scanr", "additionalTextEdits": null, "filterText": null, "insertText": "scanr", "kind": 12, "label": "scanr" }, { "detail": "∀ a. a → NonEmptyArray a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "singleton", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "singleton" }, "sortText": "Z.singleton", "additionalTextEdits": null, "filterText": null, "insertText": "singleton", "kind": 12, "label": "singleton" }, { "detail": "∀ f a. Alternative f ⇒ Lazy (f (Array a)) ⇒ f a → f (NonEmptyArray a)", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "some", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "some" }, "sortText": "Z.some", "additionalTextEdits": null, "filterText": null, "insertText": "some", "kind": 12, "label": "some" }, { "detail": "∀ a. NonEmptyArray a → a → NonEmptyArray a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "snoc", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "snoc" }, "sortText": "Z.snoc", "additionalTextEdits": null, "filterText": null, "insertText": "snoc", "kind": 12, "label": "snoc" }, { "detail": "∀ a. Array a → a → NonEmptyArray a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "snoc'", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "snoc'" }, "sortText": "Z.snoc'", "additionalTextEdits": null, "filterText": null, "insertText": "snoc'", "kind": 12, "label": "snoc'" }, { "detail": "∀ a. Ord a ⇒ NonEmptyArray a → NonEmptyArray a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sort", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "sort" }, "sortText": "Z.sort", "additionalTextEdits": null, "filterText": null, "insertText": "sort", "kind": 12, "label": "sort" }, { "detail": "∀ a. (a → a → Ordering) → NonEmptyArray a → NonEmptyArray a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sortBy", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "sortBy" }, "sortText": "Z.sortBy", "additionalTextEdits": null, "filterText": null, "insertText": "sortBy", "kind": 12, "label": "sortBy" }, { "detail": "∀ a b. Ord b ⇒ (a → b) → NonEmptyArray a → NonEmptyArray a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sortWith", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "sortWith" }, "sortText": "Z.sortWith", "additionalTextEdits": null, "filterText": null, "insertText": "sortWith", "kind": 12, "label": "sortWith" }, { "detail": "∀ a. Int → Int → NonEmptyArray a → Array a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "slice", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "slice" }, "sortText": "Z.slice", "additionalTextEdits": null, "filterText": null, "insertText": "slice", "kind": 12, "label": "slice" }, { "detail": "∀ a. (a → Boolean) → NonEmptyArray a → { init ∷ Array a , rest ∷ Array a }", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "span", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "span" }, "sortText": "Z.span", "additionalTextEdits": null, "filterText": null, "insertText": "span", "kind": 12, "label": "span" }, { "detail": "∀ h a. STArray h a → ST h (Maybe a)", "documentation": { "kind": "markdown", "value": "Remove the first element from an array and return that element.\n\n*From: Data.Array.ST*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "shift", "Data.Array.ST", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "shift" }, "sortText": "Z.shift", "additionalTextEdits": null, "filterText": null, "insertText": "shift", "kind": 12, "label": "shift" }, { "detail": "∀ h a. Int → Int → Array a → STArray h a → ST h (Array a)", "documentation": { "kind": "markdown", "value": "Remove and/or insert elements from/into a mutable array at the specified index.\n\n*From: Data.Array.ST*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "splice", "Data.Array.ST", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "splice" }, "sortText": "Z.splice", "additionalTextEdits": null, "filterText": null, "insertText": "splice", "kind": 12, "label": "splice" }, { "detail": "∀ a h. Ord a ⇒ STArray h a → ST h (STArray h a)", "documentation": { "kind": "markdown", "value": "Sort a mutable array in place.\n\n*From: Data.Array.ST*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sort", "Data.Array.ST", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "sort" }, "sortText": "Z.sort", "additionalTextEdits": null, "filterText": null, "insertText": "sort", "kind": 12, "label": "sort" }, { "detail": "∀ a h. (a → a → Ordering) → STArray h a → ST h (STArray h a)", "documentation": { "kind": "markdown", "value": "Sort a mutable array in place using a comparison function.\n\n*From: Data.Array.ST*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sortBy", "Data.Array.ST", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "sortBy" }, "sortText": "Z.sortBy", "additionalTextEdits": null, "filterText": null, "insertText": "sortBy", "kind": 12, "label": "sortBy" }, { "detail": "∀ a b h. Ord b ⇒ (a → b) → STArray h a → ST h (STArray h a)", "documentation": { "kind": "markdown", "value": "Sort a mutable array in place based on a projection.\n\n*From: Data.Array.ST*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sortWith", "Data.Array.ST", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "sortWith" }, "sortText": "Z.sortWith", "additionalTextEdits": null, "filterText": null, "insertText": "sortWith", "kind": 12, "label": "sortWith" }, { "detail": "BigInt → Number → BigInt", "documentation": { "kind": "markdown", "value": "shift the bits left and zero fill.\n\n*From: Data.BigInt*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "shl", "Data.BigInt", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "shl" }, "sortText": "Z.shl", "additionalTextEdits": null, "filterText": null, "insertText": "shl", "kind": 12, "label": "shl" }, { "detail": "BigInt → Number → BigInt", "documentation": { "kind": "markdown", "value": "Shift the bits right and maintain pos/neg.\n\n*From: Data.BigInt*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "shr", "Data.BigInt", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "shr" }, "sortText": "Z.shr", "additionalTextEdits": null, "filterText": null, "insertText": "shr", "kind": 12, "label": "shr" }, { "detail": "∀ a. a → CatList a", "documentation": { "kind": "markdown", "value": "Create a catenable list with a single item.\n\nRunning time: `O(1)`\n\n*From: Data.CatList*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "singleton", "Data.CatList", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "singleton" }, "sortText": "Z.singleton", "additionalTextEdits": null, "filterText": null, "insertText": "singleton", "kind": 12, "label": "singleton" }, { "detail": "∀ a. CatList a → a → CatList a", "documentation": { "kind": "markdown", "value": "Append an element to the end of the catenable list, creating a new\ncatenable list.\n\nRunning time: `O(1)`\n\n*From: Data.CatList*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "snoc", "Data.CatList", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "snoc" }, "sortText": "Z.snoc", "additionalTextEdits": null, "filterText": null, "insertText": "snoc", "kind": 12, "label": "snoc" }, { "detail": "∀ a. a → CatQueue a", "documentation": { "kind": "markdown", "value": "Create a queue containing a single element.\n\nRunning time: `O(1)`\n\n*From: Data.CatQueue*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "singleton", "Data.CatQueue", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "singleton" }, "sortText": "Z.singleton", "additionalTextEdits": null, "filterText": null, "insertText": "singleton", "kind": 12, "label": "singleton" }, { "detail": "∀ a. CatQueue a → a → CatQueue a", "documentation": { "kind": "markdown", "value": "Append an element to the end of the queue, creating a new queue.\n\nRunning time: `O(1)`\n\n*From: Data.CatQueue*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "snoc", "Data.CatQueue", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "snoc" }, "sortText": "Z.snoc", "additionalTextEdits": null, "filterText": null, "insertText": "snoc", "kind": 12, "label": "snoc" }, { "detail": "Time → Second", "documentation": { "kind": "markdown", "value": "The second component of a time value.\n\n*From: Data.DateTime*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "second", "Data.DateTime", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "second" }, "sortText": "Z.second", "additionalTextEdits": null, "filterText": null, "insertText": "second", "kind": 12, "label": "second" }, { "detail": "Hour → Time → Time", "documentation": { "kind": "markdown", "value": "Alters the hour component of a time value.\n\n*From: Data.DateTime*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "setHour", "Data.DateTime", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "setHour" }, "sortText": "Z.setHour", "additionalTextEdits": null, "filterText": null, "insertText": "setHour", "kind": 12, "label": "setHour" }, { "detail": "Millisecond → Time → Time", "documentation": { "kind": "markdown", "value": "Alters the millisecond component of a time value.\n\n*From: Data.DateTime*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "setMillisecond", "Data.DateTime", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "setMillisecond" }, "sortText": "Z.setMillisecond", "additionalTextEdits": null, "filterText": null, "insertText": "setMillisecond", "kind": 12, "label": "setMillisecond" }, { "detail": "Minute → Time → Time", "documentation": { "kind": "markdown", "value": "Alters the minute component of a time value.\n\n*From: Data.DateTime*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "setMinute", "Data.DateTime", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "setMinute" }, "sortText": "Z.setMinute", "additionalTextEdits": null, "filterText": null, "insertText": "setMinute", "kind": 12, "label": "setMinute" }, { "detail": "Second → Time → Time", "documentation": { "kind": "markdown", "value": "Alters the second component of a time value.\n\n*From: Data.DateTime*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "setSecond", "Data.DateTime", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "setSecond" }, "sortText": "Z.setSecond", "additionalTextEdits": null, "filterText": null, "insertText": "setSecond", "kind": 12, "label": "setSecond" }, { "detail": "∀ a. Ring a ⇒ a → a → a", "documentation": { "kind": "markdown", "value": "\n*From: Data.DivisionRing*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sub", "Data.DivisionRing", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "sub" }, "sortText": "Z.sub", "additionalTextEdits": null, "filterText": null, "insertText": "sub", "kind": 12, "label": "sub" }, { "detail": "∀ a. Enum a ⇒ a → Maybe a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Enum*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "succ", "Data.Enum", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "succ" }, "sortText": "Z.succ", "additionalTextEdits": null, "filterText": null, "insertText": "succ", "kind": 12, "label": "succ" }, { "detail": "∀ a. Ring a ⇒ a → a → a", "documentation": { "kind": "markdown", "value": "\n*From: Data.EuclideanRing*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sub", "Data.EuclideanRing", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "sub" }, "sortText": "Z.sub", "additionalTextEdits": null, "filterText": null, "insertText": "sub", "kind": 12, "label": "sub" }, { "detail": "∀ a. Ring a ⇒ a → a → a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Field*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sub", "Data.Field", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "sub" }, "sortText": "Z.sub", "additionalTextEdits": null, "filterText": null, "insertText": "sub", "kind": 12, "label": "sub" }, { "detail": "∀ a f m. Applicative m ⇒ Foldable f ⇒ f (m a) → m Unit", "documentation": { "kind": "markdown", "value": "Perform all of the effects in some data structure in the order\ngiven by the `Foldable` instance, ignoring the final result.\n\nFor example:\n\n```purescript\nsequence_ [ trace \"Hello, \", trace \" world!\" ]\n```\n\n*From: Data.Foldable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sequence_", "Data.Foldable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "sequence_" }, "sortText": "Z.sequence_", "additionalTextEdits": null, "filterText": null, "insertText": "sequence_", "kind": 12, "label": "sequence_" }, { "detail": "∀ f a m. Foldable f ⇒ Semigroup m ⇒ m → (a → m) → f a → m", "documentation": { "kind": "markdown", "value": "`foldMap` but with each element surrounded by some fixed value.\n\nFor example:\n\n```purescript\n> surroundMap \"*\" show []\n= \"*\"\n\n> surroundMap \"*\" show [1]\n= \"*1*\"\n\n> surroundMap \"*\" show [1, 2]\n= \"*1*2*\"\n\n> surroundMap \"*\" show [1, 2, 3]\n= \"*1*2*3*\"\n```\n\n*From: Data.Foldable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "surroundMap", "Data.Foldable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "surroundMap" }, "sortText": "Z.surroundMap", "additionalTextEdits": null, "filterText": null, "insertText": "surroundMap", "kind": 12, "label": "surroundMap" }, { "detail": "∀ f m. Foldable f ⇒ Semigroup m ⇒ m → f m → m", "documentation": { "kind": "markdown", "value": "`fold` but with each element surrounded by some fixed value.\n\nFor example:\n\n```purescript\n> surround \"*\" []\n= \"*\"\n\n> surround \"*\" [\"1\"]\n= \"*1*\"\n\n> surround \"*\" [\"1\", \"2\"]\n= \"*1*2*\"\n\n> surround \"*\" [\"1\", \"2\", \"3\"]\n= \"*1*2*3*\"\n```\n\n*From: Data.Foldable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "surround", "Data.Foldable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "surround" }, "sortText": "Z.surround", "additionalTextEdits": null, "filterText": null, "insertText": "surround", "kind": 12, "label": "surround" }, { "detail": "∀ a f. Foldable f ⇒ Semiring a ⇒ f a → a", "documentation": { "kind": "markdown", "value": "Find the sum of the numeric values in a data structure.\n\n*From: Data.Foldable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sum", "Data.Foldable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "sum" }, "sortText": "Z.sum", "additionalTextEdits": null, "filterText": null, "insertText": "sum", "kind": 12, "label": "sum" }, { "detail": "∀ i f a m. FoldableWithIndex i f ⇒ Semigroup m ⇒ m → (i → a → m) → f a → m", "documentation": { "kind": "markdown", "value": "`foldMapWithIndex` but with each element surrounded by some fixed value.\n\nFor example:\n\n```purescript\n> surroundMapWithIndex \"*\" (\\i x -> show i <> x) []\n= \"*\"\n\n> surroundMapWithIndex \"*\" (\\i x -> show i <> x) [\"a\"]\n= \"*0a*\"\n\n> surroundMapWithIndex \"*\" (\\i x -> show i <> x) [\"a\", \"b\"]\n= \"*0a*1b*\"\n\n> surroundMapWithIndex \"*\" (\\i x -> show i <> x) [\"a\", \"b\", \"c\"]\n= \"*0a*1b*2c*\"\n```\n\n*From: Data.FoldableWithIndex*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "surroundMapWithIndex", "Data.FoldableWithIndex", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "surroundMapWithIndex" }, "sortText": "Z.surroundMapWithIndex", "additionalTextEdits": null, "filterText": null, "insertText": "surroundMapWithIndex", "kind": 12, "label": "surroundMapWithIndex" }, { "detail": "Int → Int → Int", "documentation": { "kind": "markdown", "value": "Bitwise shift left.\n\n*From: Data.Int.Bits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "shl", "Data.Int.Bits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "shl" }, "sortText": "Z.shl", "additionalTextEdits": null, "filterText": null, "insertText": "shl", "kind": 12, "label": "shl" }, { "detail": "Int → Int → Int", "documentation": { "kind": "markdown", "value": "Bitwise shift right.\n\n*From: Data.Int.Bits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "shr", "Data.Int.Bits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "shr" }, "sortText": "Z.shr", "additionalTextEdits": null, "filterText": null, "insertText": "shr", "kind": 12, "label": "shr" }, { "detail": "Number → Duration", "documentation": { "kind": "markdown", "value": "\n*From: Data.Interval*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "second", "Data.Interval", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "second" }, "sortText": "Z.second", "additionalTextEdits": null, "filterText": null, "insertText": "second", "kind": 12, "label": "second" }, { "detail": "Number → Duration", "documentation": { "kind": "markdown", "value": "\n*From: Data.Interval.Duration*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "second", "Data.Interval.Duration", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "second" }, "sortText": "Z.second", "additionalTextEdits": null, "filterText": null, "insertText": "second", "kind": 12, "label": "second" }, { "detail": "∀ a. a → List a", "documentation": { "kind": "markdown", "value": "Create a list with a single element.\n\nRunning time: `O(1)`\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "singleton", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "singleton" }, "sortText": "Z.singleton", "additionalTextEdits": null, "filterText": null, "insertText": "singleton", "kind": 12, "label": "singleton" }, { "detail": "∀ f a. Alternative f ⇒ Lazy (f (List a)) ⇒ f a → f (List a)", "documentation": { "kind": "markdown", "value": "Attempt a computation multiple times, requiring at least one success.\n\nThe `Lazy` constraint is used to generate the result lazily, to ensure\ntermination.\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "some", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "some" }, "sortText": "Z.some", "additionalTextEdits": null, "filterText": null, "insertText": "some", "kind": 12, "label": "some" }, { "detail": "∀ f a. MonadRec f ⇒ Alternative f ⇒ f a → f (List a)", "documentation": { "kind": "markdown", "value": "A stack-safe version of `some`, at the cost of a `MonadRec` constraint.\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "someRec", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "someRec" }, "sortText": "Z.someRec", "additionalTextEdits": null, "filterText": null, "insertText": "someRec", "kind": 12, "label": "someRec" }, { "detail": "∀ a. List a → a → List a", "documentation": { "kind": "markdown", "value": "Append an element to the end of a list, creating a new list.\n\nRunning time: `O(n)`\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "snoc", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "snoc" }, "sortText": "Z.snoc", "additionalTextEdits": null, "filterText": null, "insertText": "snoc", "kind": 12, "label": "snoc" }, { "detail": "∀ a. Ord a ⇒ List a → List a", "documentation": { "kind": "markdown", "value": "Sort the elements of an list in increasing order.\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sort", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "sort" }, "sortText": "Z.sort", "additionalTextEdits": null, "filterText": null, "insertText": "sort", "kind": 12, "label": "sort" }, { "detail": "∀ a. (a → a → Ordering) → List a → List a", "documentation": { "kind": "markdown", "value": "Sort the elements of a list in increasing order, where elements are\ncompared using the specified ordering.\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sortBy", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "sortBy" }, "sortText": "Z.sortBy", "additionalTextEdits": null, "filterText": null, "insertText": "sortBy", "kind": 12, "label": "sortBy" }, { "detail": "∀ a. Eq a ⇒ Pattern a → List a → Maybe (List a)", "documentation": { "kind": "markdown", "value": "If the list starts with the given prefix, return the portion of the\nlist left after removing it, as a Just value. Otherwise, return Nothing.\n* `stripPrefix (Pattern (1:Nil)) (1:2:Nil) == Just (2:Nil)`\n* `stripPrefix (Pattern Nil) (1:Nil) == Just (1:Nil)`\n* `stripPrefix (Pattern (2:Nil)) (1:Nil) == Nothing`\n\nRunning time: `O(n)` where `n` is the number of elements to strip.\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "stripPrefix", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "stripPrefix" }, "sortText": "Z.stripPrefix", "additionalTextEdits": null, "filterText": null, "insertText": "stripPrefix", "kind": 12, "label": "stripPrefix" }, { "detail": "Int → Int → List ~> List", "documentation": { "kind": "markdown", "value": "Extract a sublist by a start and end index.\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "slice", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "slice" }, "sortText": "Z.slice", "additionalTextEdits": null, "filterText": null, "insertText": "slice", "kind": 12, "label": "slice" }, { "detail": "∀ a. (a → Boolean) → List a → { init ∷ List a , rest ∷ List a }", "documentation": { "kind": "markdown", "value": "Split a list into two parts:\n\n1. the longest initial segment for which all elements satisfy the specified predicate\n2. the remaining elements\n\nFor example,\n\n```purescript\nspan (\\n -> n % 2 == 1) (1 : 3 : 2 : 4 : 5 : Nil) == { init: (1 : 3 : Nil), rest: (2 : 4 : 5 : Nil) }\n```\n\nRunning time: `O(n)`\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "span", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "span" }, "sortText": "Z.span", "additionalTextEdits": null, "filterText": null, "insertText": "span", "kind": 12, "label": "span" }, { "detail": "∀ a b f. Traversable f ⇒ (b → a → b) → b → f a → f b", "documentation": { "kind": "markdown", "value": "Fold a data structure from the left, keeping all intermediate results\ninstead of only the final result. Note that the initial value does not\nappear in the result (unlike Haskell's `Prelude.scanl`).\n\n```purescript\nscanl (+) 0 [1,2,3] = [1,3,6]\nscanl (-) 10 [1,2,3] = [9,7,4]\n```\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "scanl", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "scanl" }, "sortText": "Z.scanl", "additionalTextEdits": null, "filterText": null, "insertText": "scanl", "kind": 12, "label": "scanl" }, { "detail": "∀ a b f. Traversable f ⇒ (a → b → b) → b → f a → f b", "documentation": { "kind": "markdown", "value": "Fold a data structure from the right, keeping all intermediate results\ninstead of only the final result. Note that the initial value does not\nappear in the result (unlike Haskell's `Prelude.scanr`).\n\n```purescript\nscanr (+) 0 [1,2,3] = [6,5,3]\nscanr (flip (-)) 10 [1,2,3] = [4,5,7]\n```\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "scanr", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "scanr" }, "sortText": "Z.scanr", "additionalTextEdits": null, "filterText": null, "insertText": "scanr", "kind": 12, "label": "scanr" }, { "detail": "∀ a. a → List a", "documentation": { "kind": "markdown", "value": "Create a list with a single element.\n\nRunning time: `O(1)`\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "singleton", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "singleton" }, "sortText": "Z.singleton", "additionalTextEdits": null, "filterText": null, "insertText": "singleton", "kind": 12, "label": "singleton" }, { "detail": "∀ f a. Alternative f ⇒ Lazy (f (List a)) ⇒ f a → f (List a)", "documentation": { "kind": "markdown", "value": "Attempt a computation multiple times, requiring at least one success.\n\nThe `Lazy` constraint is used to generate the result lazily, to ensure\ntermination.\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "some", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "some" }, "sortText": "Z.some", "additionalTextEdits": null, "filterText": null, "insertText": "some", "kind": 12, "label": "some" }, { "detail": "∀ a. List a → a → List a", "documentation": { "kind": "markdown", "value": "Append an element to the end of a list, creating a new list.\n\nRunning time: `O(n)`\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "snoc", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "snoc" }, "sortText": "Z.snoc", "additionalTextEdits": null, "filterText": null, "insertText": "snoc", "kind": 12, "label": "snoc" }, { "detail": "∀ a. Eq a ⇒ Pattern a → List a → Maybe (List a)", "documentation": { "kind": "markdown", "value": "If the list starts with the given prefix, return the portion of the\nlist left after removing it, as a Just value. Otherwise, return Nothing.\n* `stripPrefix (Pattern (fromFoldable [1])) (fromFoldable [1,2]) == Just (fromFoldable [2])`\n* `stripPrefix (Pattern (fromFoldable [])) (fromFoldable [1]) == Just (fromFoldable [1])`\n* `stripPrefix (Pattern (fromFoldable [2])) (fromFoldable [1]) == Nothing`\n\nRunning time: `O(n)` where `n` is the number of elements to strip.\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "stripPrefix", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "stripPrefix" }, "sortText": "Z.stripPrefix", "additionalTextEdits": null, "filterText": null, "insertText": "stripPrefix", "kind": 12, "label": "stripPrefix" }, { "detail": "Int → Int → List ~> List", "documentation": { "kind": "markdown", "value": "Extract a sublist by a start and end index.\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "slice", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "slice" }, "sortText": "Z.slice", "additionalTextEdits": null, "filterText": null, "insertText": "slice", "kind": 12, "label": "slice" }, { "detail": "∀ a. (a → Boolean) → List a → { init ∷ List a , rest ∷ List a }", "documentation": { "kind": "markdown", "value": "Split a list into two parts:\n\n1. the longest initial segment for which all elements satisfy the specified predicate\n2. the remaining elements\n\nFor example,\n\n```purescript\nspan (\\n -> n % 2 == 1) (1 : 3 : 2 : 4 : 5 : Nil) == Tuple (1 : 3 : Nil) (2 : 4 : 5 : Nil)\n```\n\nRunning time: `O(n)`\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "span", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "span" }, "sortText": "Z.span", "additionalTextEdits": null, "filterText": null, "insertText": "span", "kind": 12, "label": "span" }, { "detail": "∀ a b. (a → b → b) → b → List a → List b", "documentation": { "kind": "markdown", "value": "Perform a right scan lazily\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "scanrLazy", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "scanrLazy" }, "sortText": "Z.scanrLazy", "additionalTextEdits": null, "filterText": null, "insertText": "scanrLazy", "kind": 12, "label": "scanrLazy" }, { "detail": "∀ a b f. Traversable f ⇒ (b → a → b) → b → f a → f b", "documentation": { "kind": "markdown", "value": "Fold a data structure from the left, keeping all intermediate results\ninstead of only the final result. Note that the initial value does not\nappear in the result (unlike Haskell's `Prelude.scanl`).\n\n```purescript\nscanl (+) 0 [1,2,3] = [1,3,6]\nscanl (-) 10 [1,2,3] = [9,7,4]\n```\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "scanl", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "scanl" }, "sortText": "Z.scanl", "additionalTextEdits": null, "filterText": null, "insertText": "scanl", "kind": 12, "label": "scanl" }, { "detail": "∀ a b f. Traversable f ⇒ (a → b → b) → b → f a → f b", "documentation": { "kind": "markdown", "value": "Fold a data structure from the right, keeping all intermediate results\ninstead of only the final result. Note that the initial value does not\nappear in the result (unlike Haskell's `Prelude.scanr`).\n\n```purescript\nscanr (+) 0 [1,2,3] = [6,5,3]\nscanr (flip (-)) 10 [1,2,3] = [4,5,7]\n```\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "scanr", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "scanr" }, "sortText": "Z.scanr", "additionalTextEdits": null, "filterText": null, "insertText": "scanr", "kind": 12, "label": "scanr" }, { "detail": "∀ a. List a → Step a", "documentation": { "kind": "markdown", "value": "Unwrap a lazy linked list\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "step", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "step" }, "sortText": "Z.step", "additionalTextEdits": null, "filterText": null, "insertText": "step", "kind": 12, "label": "step" }, { "detail": "∀ a. a → NonEmptyList a", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.Lazy.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "singleton", "Data.List.Lazy.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "singleton" }, "sortText": "Z.singleton", "additionalTextEdits": null, "filterText": null, "insertText": "singleton", "kind": 12, "label": "singleton" }, { "detail": "∀ a. List a → Step a", "documentation": { "kind": "markdown", "value": "Unwrap a lazy linked list\n\n*From: Data.List.Lazy.Types*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "step", "Data.List.Lazy.Types", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "step" }, "sortText": "Z.step", "additionalTextEdits": null, "filterText": null, "insertText": "step", "kind": 12, "label": "step" }, { "detail": "∀ a. a → NonEmptyList a", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "singleton", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "singleton" }, "sortText": "Z.singleton", "additionalTextEdits": null, "filterText": null, "insertText": "singleton", "kind": 12, "label": "singleton" }, { "detail": "∀ a. NonEmptyList a → a → NonEmptyList a", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "snoc", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "snoc" }, "sortText": "Z.snoc", "additionalTextEdits": null, "filterText": null, "insertText": "snoc", "kind": 12, "label": "snoc" }, { "detail": "∀ a. List a → a → NonEmptyList a", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "snoc'", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "snoc'" }, "sortText": "Z.snoc'", "additionalTextEdits": null, "filterText": null, "insertText": "snoc'", "kind": 12, "label": "snoc'" }, { "detail": "∀ a. Ord a ⇒ NonEmptyList a → NonEmptyList a", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sort", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "sort" }, "sortText": "Z.sort", "additionalTextEdits": null, "filterText": null, "insertText": "sort", "kind": 12, "label": "sort" }, { "detail": "∀ a. (a → a → Ordering) → NonEmptyList a → NonEmptyList a", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sortBy", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "sortBy" }, "sortText": "Z.sortBy", "additionalTextEdits": null, "filterText": null, "insertText": "sortBy", "kind": 12, "label": "sortBy" }, { "detail": "∀ a. (a → Boolean) → NonEmptyList a → { init ∷ List a , rest ∷ List a }", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "span", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "span" }, "sortText": "Z.span", "additionalTextEdits": null, "filterText": null, "insertText": "span", "kind": 12, "label": "span" }, { "detail": "∀ a b f. Traversable f ⇒ (b → a → b) → b → f a → f b", "documentation": { "kind": "markdown", "value": "Fold a data structure from the left, keeping all intermediate results\ninstead of only the final result. Note that the initial value does not\nappear in the result (unlike Haskell's `Prelude.scanl`).\n\n```purescript\nscanl (+) 0 [1,2,3] = [1,3,6]\nscanl (-) 10 [1,2,3] = [9,7,4]\n```\n\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "scanl", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "scanl" }, "sortText": "Z.scanl", "additionalTextEdits": null, "filterText": null, "insertText": "scanl", "kind": 12, "label": "scanl" }, { "detail": "∀ a b f. Traversable f ⇒ (a → b → b) → b → f a → f b", "documentation": { "kind": "markdown", "value": "Fold a data structure from the right, keeping all intermediate results\ninstead of only the final result. Note that the initial value does not\nappear in the result (unlike Haskell's `Prelude.scanr`).\n\n```purescript\nscanr (+) 0 [1,2,3] = [6,5,3]\nscanr (flip (-)) 10 [1,2,3] = [4,5,7]\n```\n\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "scanr", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "scanr" }, "sortText": "Z.scanr", "additionalTextEdits": null, "filterText": null, "insertText": "scanr", "kind": 12, "label": "scanr" }, { "detail": "∀ b f t. Traversable1 t ⇒ Apply f ⇒ t (f b) → f (t b)", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sequence1", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "sequence1" }, "sortText": "Z.sequence1", "additionalTextEdits": null, "filterText": null, "insertText": "sequence1", "kind": 12, "label": "sequence1" }, { "detail": "∀ t f a. Foldable1 t ⇒ Apply f ⇒ t (f a) → f Unit", "documentation": { "kind": "markdown", "value": "Perform all of the effects in some data structure in the order\ngiven by the `Foldable1` instance, ignoring the final result.\n\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sequence1_", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "sequence1_" }, "sortText": "Z.sequence1_", "additionalTextEdits": null, "filterText": null, "insertText": "sequence1_", "kind": 12, "label": "sequence1_" }, { "detail": "∀ k v. Show k ⇒ Show v ⇒ Map k v → String", "documentation": { "kind": "markdown", "value": "Render a `Map` as a `String`\n\n*From: Data.Map*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "showTree", "Data.Map", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "showTree" }, "sortText": "Z.showTree", "additionalTextEdits": null, "filterText": null, "insertText": "showTree", "kind": 12, "label": "showTree" }, { "detail": "∀ k v. k → v → Map k v", "documentation": { "kind": "markdown", "value": "Create a map with one key/value pair\n\n*From: Data.Map*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "singleton", "Data.Map", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "singleton" }, "sortText": "Z.singleton", "additionalTextEdits": null, "filterText": null, "insertText": "singleton", "kind": 12, "label": "singleton" }, { "detail": "∀ k v. Map k v → Int", "documentation": { "kind": "markdown", "value": "Calculate the number of key/value pairs in a map\n\n*From: Data.Map*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "size", "Data.Map", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "size" }, "sortText": "Z.size", "additionalTextEdits": null, "filterText": null, "insertText": "size", "kind": 12, "label": "size" }, { "detail": "∀ k v. Ord k ⇒ Maybe k → Maybe k → Map k v → Map k v", "documentation": { "kind": "markdown", "value": "Returns a new map containing all entries of the given map which lie\nbetween a given lower and upper bound, treating `Nothing` as no bound i.e.\nincluding the smallest (or largest) key in the map, no matter how small\n(or large) it is. For example:\n\n```purescript\nsubmap (Just 1) (Just 2)\n (fromFoldable [Tuple 0 \"zero\", Tuple 1 \"one\", Tuple 2 \"two\", Tuple 3 \"three\"])\n == fromFoldable [Tuple 1 \"one\", Tuple 2 \"two\"]\n\nsubmap Nothing (Just 2)\n (fromFoldable [Tuple 0 \"zero\", Tuple 1 \"one\", Tuple 2 \"two\", Tuple 3 \"three\"])\n == fromFoldable [Tuple 0 \"zero\", Tuple 1 \"one\", Tuple 2 \"two\"]\n```\n\nThe function is entirely specified by the following\nproperty:\n\n```purescript\nGiven any m :: Map k v, mmin :: Maybe k, mmax :: Maybe k, key :: k,\n let m' = submap mmin mmax m in\n if (maybe true (\\min -> min <= key) mmin &&\n maybe true (\\max -> max >= key) mmax)\n then lookup key m == lookup key m'\n else not (member key m')\n```\n\n*From: Data.Map*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "submap", "Data.Map", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "submap" }, "sortText": "Z.submap", "additionalTextEdits": null, "filterText": null, "insertText": "submap", "kind": 12, "label": "submap" }, { "detail": "∀ k v. Show k ⇒ Show v ⇒ Map k v → String", "documentation": { "kind": "markdown", "value": "Render a `Map` as a `String`\n\n*From: Data.Map.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "showTree", "Data.Map.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "showTree" }, "sortText": "Z.showTree", "additionalTextEdits": null, "filterText": null, "insertText": "showTree", "kind": 12, "label": "showTree" }, { "detail": "∀ k v. k → v → Map k v", "documentation": { "kind": "markdown", "value": "Create a map with one key/value pair\n\n*From: Data.Map.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "singleton", "Data.Map.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "singleton" }, "sortText": "Z.singleton", "additionalTextEdits": null, "filterText": null, "insertText": "singleton", "kind": 12, "label": "singleton" }, { "detail": "∀ k v. Ord k ⇒ Maybe k → Maybe k → Map k v → Map k v", "documentation": { "kind": "markdown", "value": "Returns a new map containing all entries of the given map which lie\nbetween a given lower and upper bound, treating `Nothing` as no bound i.e.\nincluding the smallest (or largest) key in the map, no matter how small\n(or large) it is. For example:\n\n```purescript\nsubmap (Just 1) (Just 2)\n (fromFoldable [Tuple 0 \"zero\", Tuple 1 \"one\", Tuple 2 \"two\", Tuple 3 \"three\"])\n == fromFoldable [Tuple 1 \"one\", Tuple 2 \"two\"]\n\nsubmap Nothing (Just 2)\n (fromFoldable [Tuple 0 \"zero\", Tuple 1 \"one\", Tuple 2 \"two\", Tuple 3 \"three\"])\n == fromFoldable [Tuple 0 \"zero\", Tuple 1 \"one\", Tuple 2 \"two\"]\n```\n\nThe function is entirely specified by the following\nproperty:\n\n```purescript\nGiven any m :: Map k v, mmin :: Maybe k, mmax :: Maybe k, key :: k,\n let m' = submap mmin mmax m in\n if (maybe true (\\min -> min <= key) mmin &&\n maybe true (\\max -> max >= key) mmax)\n then lookup key m == lookup key m'\n else not (member key m')\n```\n\n*From: Data.Map.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "submap", "Data.Map.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "submap" }, "sortText": "Z.submap", "additionalTextEdits": null, "filterText": null, "insertText": "submap", "kind": 12, "label": "submap" }, { "detail": "∀ k v. Map k v → Int", "documentation": { "kind": "markdown", "value": "Calculate the number of key/value pairs in a map\n\n*From: Data.Map.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "size", "Data.Map.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "size" }, "sortText": "Z.size", "additionalTextEdits": null, "filterText": null, "insertText": "size", "kind": 12, "label": "size" }, { "detail": "∀ f a. Plus f ⇒ a → NonEmpty f a", "documentation": { "kind": "markdown", "value": "Create a non-empty structure with a single value.\n\n*From: Data.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "singleton", "Data.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "singleton" }, "sortText": "Z.singleton", "additionalTextEdits": null, "filterText": null, "insertText": "singleton", "kind": 12, "label": "singleton" }, { "detail": "∀ a. Ord a ⇒ Ring a ⇒ a → a", "documentation": { "kind": "markdown", "value": "The sign function; always evaluates to either `one` or `negate one`. For\nany `x`, we should have `signum x * abs x == x`.\n\n*From: Data.Ord*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "signum", "Data.Ord", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "signum" }, "sortText": "Z.signum", "additionalTextEdits": null, "filterText": null, "insertText": "signum", "kind": 12, "label": "signum" }, { "detail": "∀ a. Ring a ⇒ a → a → a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Ring*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sub", "Data.Ring", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "sub" }, "sortText": "Z.sub", "additionalTextEdits": null, "filterText": null, "insertText": "sub", "kind": 12, "label": "sub" }, { "detail": "∀ subrow row rowlist. RingRecord rowlist row subrow ⇒ RLProxy rowlist → Record row → Record row → Record subrow", "documentation": { "kind": "markdown", "value": "\n*From: Data.Ring*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "subRecord", "Data.Ring", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "subRecord" }, "sortText": "Z.subRecord", "additionalTextEdits": null, "filterText": null, "insertText": "subRecord", "kind": 12, "label": "subRecord" }, { "detail": "∀ t f a. Foldable1 t ⇒ Apply f ⇒ t (f a) → f Unit", "documentation": { "kind": "markdown", "value": "Perform all of the effects in some data structure in the order\ngiven by the `Foldable1` instance, ignoring the final result.\n\n*From: Data.Semigroup.Foldable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sequence1_", "Data.Semigroup.Foldable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "sequence1_" }, "sortText": "Z.sequence1_", "additionalTextEdits": null, "filterText": null, "insertText": "sequence1_", "kind": 12, "label": "sequence1_" }, { "detail": "∀ b f t. Traversable1 t ⇒ Apply f ⇒ t (f b) → f (t b)", "documentation": { "kind": "markdown", "value": "\n*From: Data.Semigroup.Traversable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sequence1", "Data.Semigroup.Traversable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "sequence1" }, "sortText": "Z.sequence1", "additionalTextEdits": null, "filterText": null, "insertText": "sequence1", "kind": 12, "label": "sequence1" }, { "detail": "∀ t a m. Traversable1 t ⇒ Apply m ⇒ t (m a) → m (t a)", "documentation": { "kind": "markdown", "value": "A default implementation of `sequence1` using `traverse1`.\n\n*From: Data.Semigroup.Traversable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sequence1Default", "Data.Semigroup.Traversable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "sequence1Default" }, "sortText": "Z.sequence1Default", "additionalTextEdits": null, "filterText": null, "insertText": "sequence1Default", "kind": 12, "label": "sequence1Default" }, { "detail": "∀ a. a → Set a", "documentation": { "kind": "markdown", "value": "Create a set with one element\n\n*From: Data.Set*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "singleton", "Data.Set", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "singleton" }, "sortText": "Z.singleton", "additionalTextEdits": null, "filterText": null, "insertText": "singleton", "kind": 12, "label": "singleton" }, { "detail": "∀ a. Set a → Int", "documentation": { "kind": "markdown", "value": "Find the size of a set\n\n*From: Data.Set*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "size", "Data.Set", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "size" }, "sortText": "Z.size", "additionalTextEdits": null, "filterText": null, "insertText": "size", "kind": 12, "label": "size" }, { "detail": "∀ a. Ord a ⇒ Set a → Set a → Boolean", "documentation": { "kind": "markdown", "value": "True if and only if every element in the first set\nis an element of the second set\n\n*From: Data.Set*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "subset", "Data.Set", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "subset" }, "sortText": "Z.subset", "additionalTextEdits": null, "filterText": null, "insertText": "subset", "kind": 12, "label": "subset" }, { "detail": "∀ a. a → NonEmptySet a", "documentation": { "kind": "markdown", "value": "Create a set with one element.\n\n*From: Data.Set.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "singleton", "Data.Set.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "singleton" }, "sortText": "Z.singleton", "additionalTextEdits": null, "filterText": null, "insertText": "singleton", "kind": 12, "label": "singleton" }, { "detail": "∀ a. NonEmptySet a → Int", "documentation": { "kind": "markdown", "value": "Find the size of a set.\n\n*From: Data.Set.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "size", "Data.Set.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "size" }, "sortText": "Z.size", "additionalTextEdits": null, "filterText": null, "insertText": "size", "kind": 12, "label": "size" }, { "detail": "∀ a. Ord a ⇒ NonEmptySet a → NonEmptySet a → Boolean", "documentation": { "kind": "markdown", "value": "True if and only if every element in the first set is an element of the\nsecond set.\n\n*From: Data.Set.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "subset", "Data.Set.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "subset" }, "sortText": "Z.subset", "additionalTextEdits": null, "filterText": null, "insertText": "subset", "kind": 12, "label": "subset" }, { "detail": "∀ a. Show a ⇒ a → String", "documentation": { "kind": "markdown", "value": "\n*From: Data.Show*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "show", "Data.Show", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "show" }, "sortText": "Z.show", "additionalTextEdits": null, "filterText": null, "insertText": "show", "kind": 12, "label": "show" }, { "detail": "∀ row rowlist. ShowRecordFields rowlist row ⇒ RLProxy rowlist → Record row → Array String", "documentation": { "kind": "markdown", "value": "\n*From: Data.Show*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "showRecordFields", "Data.Show", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "showRecordFields" }, "sortText": "Z.showRecordFields", "additionalTextEdits": null, "filterText": null, "insertText": "showRecordFields", "kind": 12, "label": "showRecordFields" }, { "detail": "CodePoint → String", "documentation": { "kind": "markdown", "value": "Creates a string containing just the given code point. Operates in\nconstant space and time.\n\n```purescript\n>>> map singleton (codePointFromInt 0x1D400)\nJust \"𝐀\"\n```\n\n\n*From: Data.String*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "singleton", "Data.String", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "singleton" }, "sortText": "Z.singleton", "additionalTextEdits": null, "filterText": null, "insertText": "singleton", "kind": 12, "label": "singleton" }, { "detail": "Pattern → String → Array String", "documentation": { "kind": "markdown", "value": "Returns the substrings of the second string separated along occurences\nof the first string.\n\n```purescript\nsplit (Pattern \" \") \"hello world\" == [\"hello\", \"world\"]\n```\n\n*From: Data.String*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "split", "Data.String", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "split" }, "sortText": "Z.split", "additionalTextEdits": null, "filterText": null, "insertText": "split", "kind": 12, "label": "split" }, { "detail": "Int → String → { after ∷ String , before ∷ String }", "documentation": { "kind": "markdown", "value": "Splits a string into two substrings, where `before` contains the code\npoints up to (but not including) the given index, and `after` contains the\nrest of the string, from that index on.\n\n```purescript\n>>> splitAt 3 \"b 𝐀𝐀 c 𝐀\"\n{ before: \"b 𝐀\", after: \"𝐀 c 𝐀\" }\n```\n\nThus the length of `(splitAt i s).before` will equal either `i` or\n`length s`, if that is shorter. (Or if `i` is negative the length will be\n0.)\n\nIn code:\n```purescript\nlength (splitAt i s).before == min (max i 0) (length s)\n(splitAt i s).before <> (splitAt i s).after == s\nsplitAt i s == {before: take i s, after: drop i s}\n```\n\n*From: Data.String*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "splitAt", "Data.String", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "splitAt" }, "sortText": "Z.splitAt", "additionalTextEdits": null, "filterText": null, "insertText": "splitAt", "kind": 12, "label": "splitAt" }, { "detail": "Pattern → String → Maybe String", "documentation": { "kind": "markdown", "value": "If the string starts with the given prefix, return the portion of the\nstring left after removing it, as a Just value. Otherwise, return Nothing.\n\n```purescript\nstripPrefix (Pattern \"http:\") \"http://purescript.org\" == Just \"//purescript.org\"\nstripPrefix (Pattern \"http:\") \"https://purescript.org\" == Nothing\n```\n\n*From: Data.String*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "stripPrefix", "Data.String", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "stripPrefix" }, "sortText": "Z.stripPrefix", "additionalTextEdits": null, "filterText": null, "insertText": "stripPrefix", "kind": 12, "label": "stripPrefix" }, { "detail": "Pattern → String → Maybe String", "documentation": { "kind": "markdown", "value": "If the string ends with the given suffix, return the portion of the\nstring left after removing it, as a `Just` value. Otherwise, return\n`Nothing`.\n\n```purescript\nstripSuffix (Pattern \".exe\") \"psc.exe\" == Just \"psc\"\nstripSuffix (Pattern \".exe\") \"psc\" == Nothing\n```\n\n*From: Data.String*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "stripSuffix", "Data.String", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "stripSuffix" }, "sortText": "Z.stripSuffix", "additionalTextEdits": null, "filterText": null, "insertText": "stripSuffix", "kind": 12, "label": "stripSuffix" }, { "detail": "CodePoint → String", "documentation": { "kind": "markdown", "value": "Creates a string containing just the given code point. Operates in\nconstant space and time.\n\n```purescript\n>>> map singleton (codePointFromInt 0x1D400)\nJust \"𝐀\"\n```\n\n\n*From: Data.String.CodePoints*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "singleton", "Data.String.CodePoints", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "singleton" }, "sortText": "Z.singleton", "additionalTextEdits": null, "filterText": null, "insertText": "singleton", "kind": 12, "label": "singleton" }, { "detail": "Int → String → { after ∷ String , before ∷ String }", "documentation": { "kind": "markdown", "value": "Splits a string into two substrings, where `before` contains the code\npoints up to (but not including) the given index, and `after` contains the\nrest of the string, from that index on.\n\n```purescript\n>>> splitAt 3 \"b 𝐀𝐀 c 𝐀\"\n{ before: \"b 𝐀\", after: \"𝐀 c 𝐀\" }\n```\n\nThus the length of `(splitAt i s).before` will equal either `i` or\n`length s`, if that is shorter. (Or if `i` is negative the length will be\n0.)\n\nIn code:\n```purescript\nlength (splitAt i s).before == min (max i 0) (length s)\n(splitAt i s).before <> (splitAt i s).after == s\nsplitAt i s == {before: take i s, after: drop i s}\n```\n\n*From: Data.String.CodePoints*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "splitAt", "Data.String.CodePoints", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "splitAt" }, "sortText": "Z.splitAt", "additionalTextEdits": null, "filterText": null, "insertText": "splitAt", "kind": 12, "label": "splitAt" }, { "detail": "Pattern → String → Maybe String", "documentation": { "kind": "markdown", "value": "If the string starts with the given prefix, return the portion of the\nstring left after removing it, as a Just value. Otherwise, return Nothing.\n\n```purescript\nstripPrefix (Pattern \"http:\") \"http://purescript.org\" == Just \"//purescript.org\"\nstripPrefix (Pattern \"http:\") \"https://purescript.org\" == Nothing\n```\n\n*From: Data.String.CodePoints*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "stripPrefix", "Data.String.CodePoints", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "stripPrefix" }, "sortText": "Z.stripPrefix", "additionalTextEdits": null, "filterText": null, "insertText": "stripPrefix", "kind": 12, "label": "stripPrefix" }, { "detail": "Pattern → String → Maybe String", "documentation": { "kind": "markdown", "value": "If the string ends with the given suffix, return the portion of the\nstring left after removing it, as a `Just` value. Otherwise, return\n`Nothing`.\n\n```purescript\nstripSuffix (Pattern \".exe\") \"psc.exe\" == Just \"psc\"\nstripSuffix (Pattern \".exe\") \"psc\" == Nothing\n```\n\n*From: Data.String.CodePoints*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "stripSuffix", "Data.String.CodePoints", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "stripSuffix" }, "sortText": "Z.stripSuffix", "additionalTextEdits": null, "filterText": null, "insertText": "stripSuffix", "kind": 12, "label": "stripSuffix" }, { "detail": "Pattern → String → Maybe String", "documentation": { "kind": "markdown", "value": "If the string starts with the given prefix, return the portion of the\nstring left after removing it, as a Just value. Otherwise, return Nothing.\n\n```purescript\nstripPrefix (Pattern \"http:\") \"http://purescript.org\" == Just \"//purescript.org\"\nstripPrefix (Pattern \"http:\") \"https://purescript.org\" == Nothing\n```\n\n*From: Data.String.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "stripPrefix", "Data.String.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "stripPrefix" }, "sortText": "Z.stripPrefix", "additionalTextEdits": null, "filterText": null, "insertText": "stripPrefix", "kind": 12, "label": "stripPrefix" }, { "detail": "Pattern → String → Maybe String", "documentation": { "kind": "markdown", "value": "If the string ends with the given suffix, return the portion of the\nstring left after removing it, as a `Just` value. Otherwise, return\n`Nothing`.\n\n```purescript\nstripSuffix (Pattern \".exe\") \"psc.exe\" == Just \"psc\"\nstripSuffix (Pattern \".exe\") \"psc\" == Nothing\n```\n\n*From: Data.String.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "stripSuffix", "Data.String.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "stripSuffix" }, "sortText": "Z.stripSuffix", "additionalTextEdits": null, "filterText": null, "insertText": "stripSuffix", "kind": 12, "label": "stripSuffix" }, { "detail": "Char → String", "documentation": { "kind": "markdown", "value": "Returns a string of length `1` containing the given character.\n\n```purescript\nsingleton 'l' == \"l\"\n```\n\n\n*From: Data.String.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "singleton", "Data.String.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "singleton" }, "sortText": "Z.singleton", "additionalTextEdits": null, "filterText": null, "insertText": "singleton", "kind": 12, "label": "singleton" }, { "detail": "Int → Int → String → Maybe String", "documentation": { "kind": "markdown", "value": "Returns the substring at indices `[begin, end)`.\nIf either index is negative, it is normalised to `length s - index`,\nwhere `s` is the input string. `Nothing` is returned if either\nindex is out of bounds or if `begin > end` after normalisation.\n\n```purescript\nslice 0 0 \"purescript\" == Just \"\"\nslice 0 1 \"purescript\" == Just \"p\"\nslice 3 6 \"purescript\" == Just \"esc\"\nslice (-4) (-1) \"purescript\" == Just \"rip\"\nslice (-4) 3 \"purescript\" == Nothing\n```\n\n*From: Data.String.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "slice", "Data.String.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "slice" }, "sortText": "Z.slice", "additionalTextEdits": null, "filterText": null, "insertText": "slice", "kind": 12, "label": "slice" }, { "detail": "Int → String → { after ∷ String , before ∷ String }", "documentation": { "kind": "markdown", "value": "Splits a string into two substrings, where `before` contains the\ncharacters up to (but not including) the given index, and `after` contains\nthe rest of the string, from that index on.\n\n```purescript\nsplitAt 2 \"Hello World\" == { before: \"He\", after: \"llo World\"}\nsplitAt 10 \"Hi\" == { before: \"Hi\", after: \"\"}\n```\n\nThus the length of `(splitAt i s).before` will equal either `i` or\n`length s`, if that is shorter. (Or if `i` is negative the length will be\n0.)\n\nIn code:\n```purescript\nlength (splitAt i s).before == min (max i 0) (length s)\n(splitAt i s).before <> (splitAt i s).after == s\nsplitAt i s == {before: take i s, after: drop i s}\n```\n\n*From: Data.String.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "splitAt", "Data.String.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "splitAt" }, "sortText": "Z.splitAt", "additionalTextEdits": null, "filterText": null, "insertText": "splitAt", "kind": 12, "label": "splitAt" }, { "detail": "Pattern → String → Array String", "documentation": { "kind": "markdown", "value": "Returns the substrings of the second string separated along occurences\nof the first string.\n\n```purescript\nsplit (Pattern \" \") \"hello world\" == [\"hello\", \"world\"]\n```\n\n*From: Data.String.Common*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "split", "Data.String.Common", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "split" }, "sortText": "Z.split", "additionalTextEdits": null, "filterText": null, "insertText": "split", "kind": 12, "label": "split" }, { "detail": "CodePoint → NonEmptyString", "documentation": { "kind": "markdown", "value": "\n*From: Data.String.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "singleton", "Data.String.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "singleton" }, "sortText": "Z.singleton", "additionalTextEdits": null, "filterText": null, "insertText": "singleton", "kind": 12, "label": "singleton" }, { "detail": "CodePoint → String → NonEmptyString", "documentation": { "kind": "markdown", "value": "\n*From: Data.String.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "snoc", "Data.String.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "snoc" }, "sortText": "Z.snoc", "additionalTextEdits": null, "filterText": null, "insertText": "snoc", "kind": 12, "label": "snoc" }, { "detail": "Int → NonEmptyString → { after ∷ Maybe NonEmptyString , before ∷ Maybe NonEmptyString }", "documentation": { "kind": "markdown", "value": "\n*From: Data.String.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "splitAt", "Data.String.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "splitAt" }, "sortText": "Z.splitAt", "additionalTextEdits": null, "filterText": null, "insertText": "splitAt", "kind": 12, "label": "splitAt" }, { "detail": "Pattern → NonEmptyString → Maybe NonEmptyString", "documentation": { "kind": "markdown", "value": "If the string starts with the given prefix, return the portion of the\nstring left after removing it. If the prefix does not match or there is no\nremainder, the result will be `Nothing`.\n\n```purescript\nstripPrefix (Pattern \"http:\") (NonEmptyString \"http://purescript.org\") == Just (NonEmptyString \"//purescript.org\")\nstripPrefix (Pattern \"http:\") (NonEmptyString \"https://purescript.org\") == Nothing\nstripPrefix (Pattern \"Hello!\") (NonEmptyString \"Hello!\") == Nothing\n```\n\n*From: Data.String.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "stripPrefix", "Data.String.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "stripPrefix" }, "sortText": "Z.stripPrefix", "additionalTextEdits": null, "filterText": null, "insertText": "stripPrefix", "kind": 12, "label": "stripPrefix" }, { "detail": "Pattern → NonEmptyString → Maybe NonEmptyString", "documentation": { "kind": "markdown", "value": "If the string ends with the given suffix, return the portion of the\nstring left after removing it. If the suffix does not match or there is no\nremainder, the result will be `Nothing`.\n\n```purescript\nstripSuffix (Pattern \".exe\") (NonEmptyString \"purs.exe\") == Just (NonEmptyString \"purs\")\nstripSuffix (Pattern \".exe\") (NonEmptyString \"purs\") == Nothing\nstripSuffix (Pattern \"Hello!\") (NonEmptyString \"Hello!\") == Nothing\n```\n\n*From: Data.String.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "stripSuffix", "Data.String.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "stripSuffix" }, "sortText": "Z.stripSuffix", "additionalTextEdits": null, "filterText": null, "insertText": "stripSuffix", "kind": 12, "label": "stripSuffix" }, { "detail": "CodePoint → NonEmptyString", "documentation": { "kind": "markdown", "value": "\n*From: Data.String.NonEmpty.CodePoints*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "singleton", "Data.String.NonEmpty.CodePoints", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "singleton" }, "sortText": "Z.singleton", "additionalTextEdits": null, "filterText": null, "insertText": "singleton", "kind": 12, "label": "singleton" }, { "detail": "CodePoint → String → NonEmptyString", "documentation": { "kind": "markdown", "value": "\n*From: Data.String.NonEmpty.CodePoints*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "snoc", "Data.String.NonEmpty.CodePoints", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "snoc" }, "sortText": "Z.snoc", "additionalTextEdits": null, "filterText": null, "insertText": "snoc", "kind": 12, "label": "snoc" }, { "detail": "Int → NonEmptyString → { after ∷ Maybe NonEmptyString , before ∷ Maybe NonEmptyString }", "documentation": { "kind": "markdown", "value": "\n*From: Data.String.NonEmpty.CodePoints*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "splitAt", "Data.String.NonEmpty.CodePoints", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "splitAt" }, "sortText": "Z.splitAt", "additionalTextEdits": null, "filterText": null, "insertText": "splitAt", "kind": 12, "label": "splitAt" }, { "detail": "Char → NonEmptyString", "documentation": { "kind": "markdown", "value": "Creates a `NonEmptyString` from a character.\n\n*From: Data.String.NonEmpty.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "singleton", "Data.String.NonEmpty.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "singleton" }, "sortText": "Z.singleton", "additionalTextEdits": null, "filterText": null, "insertText": "singleton", "kind": 12, "label": "singleton" }, { "detail": "Char → String → NonEmptyString", "documentation": { "kind": "markdown", "value": "Creates a `NonEmptyString` from a string by appending a character.\n\n```purescript\nsnoc 'c' \"ab\" = NonEmptyString \"abc\"\nsnoc 'a' \"\" = NonEmptyString \"a\"\n```\n\n*From: Data.String.NonEmpty.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "snoc", "Data.String.NonEmpty.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "snoc" }, "sortText": "Z.snoc", "additionalTextEdits": null, "filterText": null, "insertText": "snoc", "kind": 12, "label": "snoc" }, { "detail": "Int → NonEmptyString → { after ∷ Maybe NonEmptyString , before ∷ Maybe NonEmptyString }", "documentation": { "kind": "markdown", "value": "Returns the substrings of a split at the given index, if the index is\nwithin bounds.\n\n```purescript\nsplitAt 2 (NonEmptyString \"Hello World\") == Just { before: Just (NonEmptyString \"He\"), after: Just (NonEmptyString \"llo World\") }\nsplitAt 10 (NonEmptyString \"Hi\") == Nothing\n```\n\n*From: Data.String.NonEmpty.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "splitAt", "Data.String.NonEmpty.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "splitAt" }, "sortText": "Z.splitAt", "additionalTextEdits": null, "filterText": null, "insertText": "splitAt", "kind": 12, "label": "splitAt" }, { "detail": "Pattern → NonEmptyString → Maybe NonEmptyString", "documentation": { "kind": "markdown", "value": "If the string starts with the given prefix, return the portion of the\nstring left after removing it. If the prefix does not match or there is no\nremainder, the result will be `Nothing`.\n\n```purescript\nstripPrefix (Pattern \"http:\") (NonEmptyString \"http://purescript.org\") == Just (NonEmptyString \"//purescript.org\")\nstripPrefix (Pattern \"http:\") (NonEmptyString \"https://purescript.org\") == Nothing\nstripPrefix (Pattern \"Hello!\") (NonEmptyString \"Hello!\") == Nothing\n```\n\n*From: Data.String.NonEmpty.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "stripPrefix", "Data.String.NonEmpty.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "stripPrefix" }, "sortText": "Z.stripPrefix", "additionalTextEdits": null, "filterText": null, "insertText": "stripPrefix", "kind": 12, "label": "stripPrefix" }, { "detail": "Pattern → NonEmptyString → Maybe NonEmptyString", "documentation": { "kind": "markdown", "value": "If the string ends with the given suffix, return the portion of the\nstring left after removing it. If the suffix does not match or there is no\nremainder, the result will be `Nothing`.\n\n```purescript\nstripSuffix (Pattern \".exe\") (NonEmptyString \"purs.exe\") == Just (NonEmptyString \"purs\")\nstripSuffix (Pattern \".exe\") (NonEmptyString \"purs\") == Nothing\nstripSuffix (Pattern \"Hello!\") (NonEmptyString \"Hello!\") == Nothing\n```\n\n*From: Data.String.NonEmpty.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "stripSuffix", "Data.String.NonEmpty.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "stripSuffix" }, "sortText": "Z.stripSuffix", "additionalTextEdits": null, "filterText": null, "insertText": "stripSuffix", "kind": 12, "label": "stripSuffix" }, { "detail": "Regex → String", "documentation": { "kind": "markdown", "value": "Returns the pattern string used to construct the given `Regex`.\n\n*From: Data.String.Regex*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "source", "Data.String.Regex", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "source" }, "sortText": "Z.source", "additionalTextEdits": null, "filterText": null, "insertText": "source", "kind": 12, "label": "source" }, { "detail": "Regex → String → Maybe Int", "documentation": { "kind": "markdown", "value": "Returns `Just` the index of the first match of the `Regex` in the string,\nor `Nothing` if there is no match.\n\n*From: Data.String.Regex*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "search", "Data.String.Regex", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "search" }, "sortText": "Z.search", "additionalTextEdits": null, "filterText": null, "insertText": "search", "kind": 12, "label": "search" }, { "detail": "Regex → String → Array String", "documentation": { "kind": "markdown", "value": "Split the string into an array of substrings along occurences of the `Regex`.\n\n*From: Data.String.Regex*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "split", "Data.String.Regex", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "split" }, "sortText": "Z.split", "additionalTextEdits": null, "filterText": null, "insertText": "split", "kind": 12, "label": "split" }, { "detail": "RegexFlags", "documentation": { "kind": "markdown", "value": "Only sticky flag set to true\n\n*From: Data.String.Regex.Flags*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sticky", "Data.String.Regex.Flags", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "sticky" }, "sortText": "Z.sticky", "additionalTextEdits": null, "filterText": null, "insertText": "sticky", "kind": 12, "label": "sticky" }, { "detail": "Hour → Time → Time", "documentation": { "kind": "markdown", "value": "Alters the hour component of a time value.\n\n*From: Data.Time*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "setHour", "Data.Time", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "setHour" }, "sortText": "Z.setHour", "additionalTextEdits": null, "filterText": null, "insertText": "setHour", "kind": 12, "label": "setHour" }, { "detail": "Minute → Time → Time", "documentation": { "kind": "markdown", "value": "Alters the minute component of a time value.\n\n*From: Data.Time*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "setMinute", "Data.Time", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "setMinute" }, "sortText": "Z.setMinute", "additionalTextEdits": null, "filterText": null, "insertText": "setMinute", "kind": 12, "label": "setMinute" }, { "detail": "Time → Second", "documentation": { "kind": "markdown", "value": "The second component of a time value.\n\n*From: Data.Time*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "second", "Data.Time", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "second" }, "sortText": "Z.second", "additionalTextEdits": null, "filterText": null, "insertText": "second", "kind": 12, "label": "second" }, { "detail": "Second → Time → Time", "documentation": { "kind": "markdown", "value": "Alters the second component of a time value.\n\n*From: Data.Time*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "setSecond", "Data.Time", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "setSecond" }, "sortText": "Z.setSecond", "additionalTextEdits": null, "filterText": null, "insertText": "setSecond", "kind": 12, "label": "setSecond" }, { "detail": "Millisecond → Time → Time", "documentation": { "kind": "markdown", "value": "Alters the millisecond component of a time value.\n\n*From: Data.Time*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "setMillisecond", "Data.Time", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "setMillisecond" }, "sortText": "Z.setMillisecond", "additionalTextEdits": null, "filterText": null, "insertText": "setMillisecond", "kind": 12, "label": "setMillisecond" }, { "detail": "∀ a m t. Traversable t ⇒ Applicative m ⇒ t (m a) → m (t a)", "documentation": { "kind": "markdown", "value": "\n*From: Data.Traversable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sequence", "Data.Traversable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "sequence" }, "sortText": "Z.sequence", "additionalTextEdits": null, "filterText": null, "insertText": "sequence", "kind": 12, "label": "sequence" }, { "detail": "∀ t a m. Traversable t ⇒ Applicative m ⇒ t (m a) → m (t a)", "documentation": { "kind": "markdown", "value": "A default implementation of `sequence` using `traverse`.\n\n*From: Data.Traversable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sequenceDefault", "Data.Traversable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "sequenceDefault" }, "sortText": "Z.sequenceDefault", "additionalTextEdits": null, "filterText": null, "insertText": "sequenceDefault", "kind": 12, "label": "sequenceDefault" }, { "detail": "∀ a b f. Traversable f ⇒ (b → a → b) → b → f a → f b", "documentation": { "kind": "markdown", "value": "Fold a data structure from the left, keeping all intermediate results\ninstead of only the final result. Note that the initial value does not\nappear in the result (unlike Haskell's `Prelude.scanl`).\n\n```purescript\nscanl (+) 0 [1,2,3] = [1,3,6]\nscanl (-) 10 [1,2,3] = [9,7,4]\n```\n\n*From: Data.Traversable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "scanl", "Data.Traversable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "scanl" }, "sortText": "Z.scanl", "additionalTextEdits": null, "filterText": null, "insertText": "scanl", "kind": 12, "label": "scanl" }, { "detail": "∀ a b f. Traversable f ⇒ (a → b → b) → b → f a → f b", "documentation": { "kind": "markdown", "value": "Fold a data structure from the right, keeping all intermediate results\ninstead of only the final result. Note that the initial value does not\nappear in the result (unlike Haskell's `Prelude.scanr`).\n\n```purescript\nscanr (+) 0 [1,2,3] = [6,5,3]\nscanr (flip (-)) 10 [1,2,3] = [4,5,7]\n```\n\n*From: Data.Traversable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "scanr", "Data.Traversable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "scanr" }, "sortText": "Z.scanr", "additionalTextEdits": null, "filterText": null, "insertText": "scanr", "kind": 12, "label": "scanr" }, { "detail": "∀ a f m. Applicative m ⇒ Foldable f ⇒ f (m a) → m Unit", "documentation": { "kind": "markdown", "value": "Perform all of the effects in some data structure in the order\ngiven by the `Foldable` instance, ignoring the final result.\n\nFor example:\n\n```purescript\nsequence_ [ trace \"Hello, \", trace \" world!\" ]\n```\n\n*From: Data.Traversable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sequence_", "Data.Traversable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "sequence_" }, "sortText": "Z.sequence_", "additionalTextEdits": null, "filterText": null, "insertText": "sequence_", "kind": 12, "label": "sequence_" }, { "detail": "∀ a f. Foldable f ⇒ Semiring a ⇒ f a → a", "documentation": { "kind": "markdown", "value": "Find the sum of the numeric values in a data structure.\n\n*From: Data.Traversable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sum", "Data.Traversable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "sum" }, "sortText": "Z.sum", "additionalTextEdits": null, "filterText": null, "insertText": "sum", "kind": 12, "label": "sum" }, { "detail": "∀ s a. StateL s a → s → Accum s a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Traversable.Accum.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "stateL", "Data.Traversable.Accum.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "stateL" }, "sortText": "Z.stateL", "additionalTextEdits": null, "filterText": null, "insertText": "stateL", "kind": 12, "label": "stateL" }, { "detail": "∀ s a. StateR s a → s → Accum s a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Traversable.Accum.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "stateR", "Data.Traversable.Accum.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "stateR" }, "sortText": "Z.stateR", "additionalTextEdits": null, "filterText": null, "insertText": "stateR", "kind": 12, "label": "stateR" }, { "detail": "∀ i a b f. TraversableWithIndex i f ⇒ (i → b → a → b) → b → f a → f b", "documentation": { "kind": "markdown", "value": "Fold a data structure from the left with access to the indices, keeping\nall intermediate results instead of only the final result. Note that the\ninitial value does not appear in the result (unlike Haskell's\n`Prelude.scanl`).\n\n```purescript\nscanlWithIndex (\\i y x -> i + y + x) 0 [1, 2, 3] = [1, 4, 9]\n```\n\n*From: Data.TraversableWithIndex*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "scanlWithIndex", "Data.TraversableWithIndex", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "scanlWithIndex" }, "sortText": "Z.scanlWithIndex", "additionalTextEdits": null, "filterText": null, "insertText": "scanlWithIndex", "kind": 12, "label": "scanlWithIndex" }, { "detail": "∀ i a b f. TraversableWithIndex i f ⇒ (i → a → b → b) → b → f a → f b", "documentation": { "kind": "markdown", "value": "Fold a data structure from the right with access to the indices, keeping\nall intermediate results instead of only the final result. Note that the\ninitial value does not appear in the result (unlike Haskell's `Prelude.scanr`).\n\n```purescript\nscanrWithIndex (\\i x y -> i + x + y) 0 [1, 2, 3] = [9, 8, 5]\n```\n\n*From: Data.TraversableWithIndex*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "scanrWithIndex", "Data.TraversableWithIndex", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "scanrWithIndex" }, "sortText": "Z.scanrWithIndex", "additionalTextEdits": null, "filterText": null, "insertText": "scanrWithIndex", "kind": 12, "label": "scanrWithIndex" }, { "detail": "∀ a b. Tuple a b → b", "documentation": { "kind": "markdown", "value": "Returns the second component of a tuple.\n\n*From: Data.Tuple*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "snd", "Data.Tuple", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "snd" }, "sortText": "Z.snd", "additionalTextEdits": null, "filterText": null, "insertText": "snd", "kind": 12, "label": "snd" }, { "detail": "∀ a b. Tuple a b → Tuple b a", "documentation": { "kind": "markdown", "value": "Exchange the first and second components of a tuple.\n\n*From: Data.Tuple*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "swap", "Data.Tuple", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "swap" }, "sortText": "Z.swap", "additionalTextEdits": null, "filterText": null, "insertText": "swap", "kind": 12, "label": "swap" }, { "detail": "∀ f a. Unfoldable1 f ⇒ a → f a", "documentation": { "kind": "markdown", "value": "Contain a single value. For example:\n\n``` purescript\nsingleton \"foo\" == (NEL.singleton \"foo\" :: NEL.NonEmptyList String)\n```\n\n*From: Data.Unfoldable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "singleton", "Data.Unfoldable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "singleton" }, "sortText": "Z.singleton", "additionalTextEdits": null, "filterText": null, "insertText": "singleton", "kind": 12, "label": "singleton" }, { "detail": "∀ f a. Unfoldable1 f ⇒ a → f a", "documentation": { "kind": "markdown", "value": "Contain a single value. For example:\n\n``` purescript\nsingleton \"foo\" == (NEL.singleton \"foo\" :: NEL.NonEmptyList String)\n```\n\n*From: Data.Unfoldable1*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "singleton", "Data.Unfoldable1", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "singleton" }, "sortText": "Z.singleton", "additionalTextEdits": null, "filterText": null, "insertText": "singleton", "kind": 12, "label": "singleton" }, { "detail": "∀ a. AVar a → Effect (AVarStatus a)", "documentation": { "kind": "markdown", "value": "Synchronously checks the status of an AVar.\n\n*From: Effect.AVar*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "status", "Effect.AVar", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "status" }, "sortText": "Z.status", "additionalTextEdits": null, "filterText": null, "insertText": "status", "kind": 12, "label": "status" }, { "detail": "∀ a. Aff a → Aff (Fiber a)", "documentation": { "kind": "markdown", "value": "Suspends an `Aff` from within a parent `Aff` context, returning the `Fiber`.\nA suspended `Aff` is not executed until a consumer observes the result\nwith `joinFiber`.\n\n*From: Effect.Aff*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "suspendAff", "Effect.Aff", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "suspendAff" }, "sortText": "Z.suspendAff", "additionalTextEdits": null, "filterText": null, "insertText": "suspendAff", "kind": 12, "label": "suspendAff" }, { "detail": "∀ a. Aff a → Aff a", "documentation": { "kind": "markdown", "value": "Creates a new supervision context for some `Aff`, guaranteeing fiber\ncleanup when the parent completes. Any pending fibers forked within\nthe context will be killed and have their cancelers run.\n\n*From: Effect.Aff*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "supervise", "Effect.Aff", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "supervise" }, "sortText": "Z.supervise", "additionalTextEdits": null, "filterText": null, "insertText": "supervise", "kind": 12, "label": "supervise" }, { "detail": "∀ m f. Parallel f m ⇒ (∀ a. f a → m a)", "documentation": { "kind": "markdown", "value": "\n*From: Effect.Aff*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sequential", "Effect.Aff", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "sequential" }, "sortText": "Z.sequential", "additionalTextEdits": null, "filterText": null, "insertText": "sequential", "kind": 12, "label": "sequential" }, { "detail": "∀ a. AVar a → Aff (AVarStatus a)", "documentation": { "kind": "markdown", "value": "Synchronously checks the status of an AVar.\n\n*From: Effect.Aff.AVar*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "status", "Effect.Aff.AVar", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "status" }, "sortText": "Z.status", "additionalTextEdits": null, "filterText": null, "insertText": "status", "kind": 12, "label": "status" }, { "detail": "Error → Maybe String", "documentation": { "kind": "markdown", "value": "Get the stack trace from a JavaScript error\n\n*From: Effect.Exception*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "stack", "Effect.Exception", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "stack" }, "sortText": "Z.stack", "additionalTextEdits": null, "filterText": null, "insertText": "stack", "kind": 12, "label": "stack" }, { "detail": "Radians → Number", "documentation": { "kind": "markdown", "value": "Returns the sine of the argument.\n\n*From: Math*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sin", "Math", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "sin" }, "sortText": "Z.sin", "additionalTextEdits": null, "filterText": null, "insertText": "sin", "kind": 12, "label": "sin" }, { "detail": "Number → Number", "documentation": { "kind": "markdown", "value": "Returns the square root of the argument.\n\n*From: Math*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sqrt", "Math", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "sqrt" }, "sortText": "Z.sqrt", "additionalTextEdits": null, "filterText": null, "insertText": "sqrt", "kind": 12, "label": "sqrt" }, { "detail": "Number", "documentation": { "kind": "markdown", "value": "The Square root of one half, around 0.707107.\n\n*From: Math*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sqrt1_2", "Math", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "sqrt1_2" }, "sortText": "Z.sqrt1_2", "additionalTextEdits": null, "filterText": null, "insertText": "sqrt1_2", "kind": 12, "label": "sqrt1_2" }, { "detail": "Number", "documentation": { "kind": "markdown", "value": "The square root of two, around 1.41421.\n\n*From: Math*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sqrt2", "Math", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "sqrt2" }, "sortText": "Z.sqrt2", "additionalTextEdits": null, "filterText": null, "insertText": "sqrt2", "kind": 12, "label": "sqrt2" }, { "detail": "∀ m buf. MutableBuffer buf m ⇒ Int → Int → buf → m Unit", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "setAtOffset", "Node.Buffer", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "setAtOffset" }, "sortText": "Z.setAtOffset", "additionalTextEdits": null, "filterText": null, "insertText": "setAtOffset", "kind": 12, "label": "setAtOffset" }, { "detail": "∀ m buf. MutableBuffer buf m ⇒ buf → m Int", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "size", "Node.Buffer", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "size" }, "sortText": "Z.size", "additionalTextEdits": null, "filterText": null, "insertText": "size", "kind": 12, "label": "size" }, { "detail": "∀ m buf. MutableBuffer buf m ⇒ Int → Int → buf → buf", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "slice", "Node.Buffer", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "slice" }, "sortText": "Z.slice", "additionalTextEdits": null, "filterText": null, "insertText": "slice", "kind": 12, "label": "slice" }, { "detail": "∀ m buf. MutableBuffer buf m ⇒ Int → Int → buf → m Unit", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer.Class*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "setAtOffset", "Node.Buffer.Class", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "setAtOffset" }, "sortText": "Z.setAtOffset", "additionalTextEdits": null, "filterText": null, "insertText": "setAtOffset", "kind": 12, "label": "setAtOffset" }, { "detail": "∀ m buf. MutableBuffer buf m ⇒ Int → Int → buf → buf", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer.Class*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "slice", "Node.Buffer.Class", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "slice" }, "sortText": "Z.slice", "additionalTextEdits": null, "filterText": null, "insertText": "slice", "kind": 12, "label": "slice" }, { "detail": "∀ m buf. MutableBuffer buf m ⇒ buf → m Int", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer.Class*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "size", "Node.Buffer.Class", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "size" }, "sortText": "Z.size", "additionalTextEdits": null, "filterText": null, "insertText": "size", "kind": 12, "label": "size" }, { "detail": "Offset → Offset → ImmutableBuffer → ImmutableBuffer", "documentation": { "kind": "markdown", "value": "Creates a new buffer slice that shares the memory of the original buffer.\n\n*From: Node.Buffer.Immutable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "slice", "Node.Buffer.Immutable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "slice" }, "sortText": "Z.slice", "additionalTextEdits": null, "filterText": null, "insertText": "slice", "kind": 12, "label": "slice" }, { "detail": "ImmutableBuffer → Int", "documentation": { "kind": "markdown", "value": "Returns the size of a buffer.\n\n*From: Node.Buffer.Immutable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "size", "Node.Buffer.Immutable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "size" }, "sortText": "Z.size", "additionalTextEdits": null, "filterText": null, "insertText": "size", "kind": 12, "label": "size" }, { "detail": "∀ buf m. Octet → Offset → buf → m Unit", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "setAtOffset", "Node.Buffer.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "setAtOffset" }, "sortText": "Z.setAtOffset", "additionalTextEdits": null, "filterText": null, "insertText": "setAtOffset", "kind": 12, "label": "setAtOffset" }, { "detail": "∀ buf. Offset → Offset → buf → buf", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "slice", "Node.Buffer.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "slice" }, "sortText": "Z.slice", "additionalTextEdits": null, "filterText": null, "insertText": "slice", "kind": 12, "label": "slice" }, { "detail": "∀ buf m. Monad m ⇒ buf → m Int", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "size", "Node.Buffer.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "size" }, "sortText": "Z.size", "additionalTextEdits": null, "filterText": null, "insertText": "size", "kind": 12, "label": "size" }, { "detail": "SymlinkType → String", "documentation": { "kind": "markdown", "value": "Convert a `SymlinkType` to a `String` in the format expected by the\nNode.js filesystem API.\n\n*From: Node.FS*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "symlinkTypeToNode", "Node.FS", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "symlinkTypeToNode" }, "sortText": "Z.symlinkTypeToNode", "additionalTextEdits": null, "filterText": null, "insertText": "symlinkTypeToNode", "kind": 12, "label": "symlinkTypeToNode" }, { "detail": "FilePath → Callback Stats → Effect Unit", "documentation": { "kind": "markdown", "value": "Gets file statistics.\n\n*From: Node.FS.Async*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "stat", "Node.FS.Async", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "stat" }, "sortText": "Z.stat", "additionalTextEdits": null, "filterText": null, "insertText": "stat", "kind": 12, "label": "stat" }, { "detail": "FilePath → FilePath → SymlinkType → Callback Unit → Effect Unit", "documentation": { "kind": "markdown", "value": "Creates a symlink.\n\n*From: Node.FS.Async*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "symlink", "Node.FS.Async", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "symlink" }, "sortText": "Z.symlink", "additionalTextEdits": null, "filterText": null, "insertText": "symlink", "kind": 12, "label": "symlink" }, { "detail": "Stats → DateTime", "documentation": { "kind": "markdown", "value": "\n*From: Node.FS.Stats*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "statusChangedTime", "Node.FS.Stats", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "statusChangedTime" }, "sortText": "Z.statusChangedTime", "additionalTextEdits": null, "filterText": null, "insertText": "statusChangedTime", "kind": 12, "label": "statusChangedTime" }, { "detail": "FilePath → Effect Stats", "documentation": { "kind": "markdown", "value": "Gets file statistics.\n\n*From: Node.FS.Sync*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "stat", "Node.FS.Sync", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "stat" }, "sortText": "Z.stat", "additionalTextEdits": null, "filterText": null, "insertText": "stat", "kind": 12, "label": "stat" }, { "detail": "FilePath → FilePath → SymlinkType → Effect Unit", "documentation": { "kind": "markdown", "value": "Creates a symlink.\n\n*From: Node.FS.Sync*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "symlink", "Node.FS.Sync", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "symlink" }, "sortText": "Z.symlink", "additionalTextEdits": null, "filterText": null, "insertText": "symlink", "kind": 12, "label": "symlink" }, { "detail": "String", "documentation": { "kind": "markdown", "value": "The platform-specific file separator. `\\\\` or `/`.\n\n*From: Node.Path*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sep", "Node.Path", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "sep" }, "sortText": "Z.sep", "additionalTextEdits": null, "filterText": null, "insertText": "sep", "kind": 12, "label": "sep" }, { "detail": "∀ w. Readable w → Encoding → Effect Unit", "documentation": { "kind": "markdown", "value": "Set the encoding used to read chunks as strings from the stream. This\nfunction may be useful when you are passing a readable stream to some other\nJavaScript library, which already expects an encoding to be set.\n\nWhere possible, you should try to use `onDataString` instead of this\nfunction.\n\n*From: Node.Stream*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "setEncoding", "Node.Stream", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "setEncoding" }, "sortText": "Z.setEncoding", "additionalTextEdits": null, "filterText": null, "insertText": "setEncoding", "kind": 12, "label": "setEncoding" }, { "detail": "∀ r. Writable r → Encoding → Effect Unit", "documentation": { "kind": "markdown", "value": "Set the default encoding used to write strings to the stream. This function\nis useful when you are passing a writable stream to some other JavaScript\nlibrary, which already expects a default encoding to be set. It has no\neffect on the behaviour of the `writeString` function (because that\nfunction ensures that the encoding is always supplied explicitly).\n\n*From: Node.Stream*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "setDefaultEncoding", "Node.Stream", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "setDefaultEncoding" }, "sortText": "Z.setDefaultEncoding", "additionalTextEdits": null, "filterText": null, "insertText": "setDefaultEncoding", "kind": 12, "label": "setDefaultEncoding" }, { "detail": "∀ a m r. Monad m ⇒ Pipe (m a) a m r", "documentation": { "kind": "markdown", "value": "Convert a stream of actions to a stream of values\n\n*From: Pipes.Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sequence", "Pipes.Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "sequence" }, "sortText": "Z.sequence", "additionalTextEdits": null, "filterText": null, "insertText": "sequence", "kind": 12, "label": "sequence" }, { "detail": "∀ a b x m r. Monad m ⇒ (x → a → x) → x → (x → b) → Pipe a b m r", "documentation": { "kind": "markdown", "value": "Left scan\n\n*From: Pipes.Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "scan", "Pipes.Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "scan" }, "sortText": "Z.scan", "additionalTextEdits": null, "filterText": null, "insertText": "scan", "kind": 12, "label": "scan" }, { "detail": "∀ a b x m r. Monad m ⇒ (x → a → m x) → m x → (x → m b) → Pipe a b m r", "documentation": { "kind": "markdown", "value": "Monadic left scan\n\n*From: Pipes.Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "scanM", "Pipes.Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "scanM" }, "sortText": "Z.scanM", "additionalTextEdits": null, "filterText": null, "insertText": "scanM", "kind": 12, "label": "scanM" }, { "detail": "∀ a m r. Monad m ⇒ Show a ⇒ Pipe a String m r", "documentation": { "kind": "markdown", "value": "Convert `Show`able values to `String`s\n\n*From: Pipes.Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "show", "Pipes.Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "show" }, "sortText": "Z.show", "additionalTextEdits": null, "filterText": null, "insertText": "show", "kind": 12, "label": "show" }, { "detail": "∀ a m r. Monad m ⇒ Pipe a a m r", "documentation": { "kind": "markdown", "value": "Evaluate all values flowing downstream to WHNF\nXXX: Is this needed in purescript?\n\n*From: Pipes.Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "seq", "Pipes.Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "seq" }, "sortText": "Z.seq", "additionalTextEdits": null, "filterText": null, "insertText": "seq", "kind": 12, "label": "seq" }, { "detail": "∀ a. Show a ⇒ a → String", "documentation": { "kind": "markdown", "value": "\n*From: Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "show", "Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "show" }, "sortText": "Z.show", "additionalTextEdits": null, "filterText": null, "insertText": "show", "kind": 12, "label": "show" }, { "detail": "∀ a. Ring a ⇒ a → a → a", "documentation": { "kind": "markdown", "value": "\n*From: Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sub", "Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "sub" }, "sortText": "Z.sub", "additionalTextEdits": null, "filterText": null, "insertText": "sub", "kind": 12, "label": "sub" }, { "detail": "Unit → BigInt", "documentation": { "kind": "markdown", "value": "\n*From: Problem1*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "solution", "Problem1", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "solution" }, "sortText": "Z.solution", "additionalTextEdits": null, "filterText": null, "insertText": "solution", "kind": 12, "label": "solution" }, { "detail": "Unit → BigInt", "documentation": { "kind": "markdown", "value": "\n*From: Problem10*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "solution", "Problem10", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "solution" }, "sortText": "Z.solution", "additionalTextEdits": null, "filterText": null, "insertText": "solution", "kind": 12, "label": "solution" }, { "detail": "Unit → BigInt", "documentation": { "kind": "markdown", "value": "\n*From: Problem11*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "solution", "Problem11", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "solution" }, "sortText": "Z.solution", "additionalTextEdits": null, "filterText": null, "insertText": "solution", "kind": 12, "label": "solution" }, { "detail": "Unit → BigInt", "documentation": { "kind": "markdown", "value": "\n*From: Problem2*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "solution", "Problem2", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "solution" }, "sortText": "Z.solution", "additionalTextEdits": null, "filterText": null, "insertText": "solution", "kind": 12, "label": "solution" }, { "detail": "Unit → BigInt", "documentation": { "kind": "markdown", "value": "\n*From: Problem3*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "solution", "Problem3", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "solution" }, "sortText": "Z.solution", "additionalTextEdits": null, "filterText": null, "insertText": "solution", "kind": 12, "label": "solution" }, { "detail": "Unit → BigInt", "documentation": { "kind": "markdown", "value": "\n*From: Problem4*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "solution", "Problem4", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "solution" }, "sortText": "Z.solution", "additionalTextEdits": null, "filterText": null, "insertText": "solution", "kind": 12, "label": "solution" }, { "detail": "Unit → BigInt", "documentation": { "kind": "markdown", "value": "\n*From: Problem5*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "solution", "Problem5", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "solution" }, "sortText": "Z.solution", "additionalTextEdits": null, "filterText": null, "insertText": "solution", "kind": 12, "label": "solution" }, { "detail": "Unit → BigInt", "documentation": { "kind": "markdown", "value": "\n*From: Problem6*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "solution", "Problem6", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "solution" }, "sortText": "Z.solution", "additionalTextEdits": null, "filterText": null, "insertText": "solution", "kind": 12, "label": "solution" }, { "detail": "Unit → BigInt", "documentation": { "kind": "markdown", "value": "\n*From: Problem7*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "solution", "Problem7", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "solution" }, "sortText": "Z.solution", "additionalTextEdits": null, "filterText": null, "insertText": "solution", "kind": 12, "label": "solution" }, { "detail": "Unit → BigInt", "documentation": { "kind": "markdown", "value": "\n*From: Problem8*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "solution", "Problem8", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "solution" }, "sortText": "Z.solution", "additionalTextEdits": null, "filterText": null, "insertText": "solution", "kind": 12, "label": "solution" }, { "detail": "Unit → BigInt", "documentation": { "kind": "markdown", "value": "Get the solution to problem 9 of project euler.\n\nMathematically, we need to find three natural numbers,\na, b, and c, that satisfy the following requirements:\n\n```\na < b < c\na + b + c = 100\na ^ 2 + b ^ 2 = c ^ 2\n```\n\nThere is only one triple of numbers that satisfies\nthese requirements.\n\nAfter getting a, b, and c, return their product.\n\n*From: Problem9*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "solution", "Problem9", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "solution" }, "sortText": "Z.solution", "additionalTextEdits": null, "filterText": null, "insertText": "solution", "kind": 12, "label": "solution" }, { "detail": "Array (Unit → BigInt)", "documentation": { "kind": "markdown", "value": "\n*From: Problems*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "solutions", "Problems", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "solutions" }, "sortText": "Z.solutions", "additionalTextEdits": null, "filterText": null, "insertText": "solutions", "kind": 12, "label": "solutions" }, { "detail": "∀ r1 r2 r l a b. IsSymbol l ⇒ Cons l a r r1 ⇒ Cons l b r r2 ⇒ SProxy l → b → Record r1 → Record r2", "documentation": { "kind": "markdown", "value": "Set a property for a label which is specified using a value-level proxy for\na type-level string.\n\nFor example:\n\n```purescript\nset (SProxy :: SProxy \"x\")\n :: forall r a b. a -> { x :: b | r } -> { x :: a | r }\n```\n\n*From: Record*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "set", "Record", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "set" }, "sortText": "Z.set", "additionalTextEdits": null, "filterText": null, "insertText": "set", "kind": 12, "label": "set" }, { "detail": "Spec Unit", "documentation": { "kind": "markdown", "value": "\n*From: Test.ArrayUtilsSpec*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "spec", "Test.ArrayUtilsSpec", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "spec" }, "sortText": "Z.spec", "additionalTextEdits": null, "filterText": null, "insertText": "spec", "kind": 12, "label": "spec" }, { "detail": "SpecT Aff Unit Identity Unit", "documentation": { "kind": "markdown", "value": "\n*From: Test.FatPreludeSpec*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "spec", "Test.FatPreludeSpec", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "spec" }, "sortText": "Z.spec", "additionalTextEdits": null, "filterText": null, "insertText": "spec", "kind": 12, "label": "spec" }, { "detail": "Spec Unit", "documentation": { "kind": "markdown", "value": "\n*From: Test.MathUtilsSpec*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "spec", "Test.MathUtilsSpec", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "spec" }, "sortText": "Z.spec", "additionalTextEdits": null, "filterText": null, "insertText": "spec", "kind": 12, "label": "spec" }, { "detail": "Spec Unit", "documentation": { "kind": "markdown", "value": "\n*From: Test.ProblemsSpec*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "spec", "Test.ProblemsSpec", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "spec" }, "sortText": "Z.spec", "additionalTextEdits": null, "filterText": null, "insertText": "spec", "kind": 12, "label": "spec" }, { "detail": "∀ a. (GenState → Gen a) → Gen a", "documentation": { "kind": "markdown", "value": "Create a random generator which uses the generator state explicitly.\n\n*From: Test.QuickCheck.Gen*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "stateful", "Test.QuickCheck.Gen", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "stateful" }, "sortText": "Z.stateful", "additionalTextEdits": null, "filterText": null, "insertText": "stateful", "kind": 12, "label": "stateful" }, { "detail": "∀ a. Gen a → (a → Boolean) → Gen a", "documentation": { "kind": "markdown", "value": "Ensure that a generator only produces values that match a predicate. If\nthe predicate always returns false the generator will loop forever.\n\n*From: Test.QuickCheck.Gen*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "suchThat", "Test.QuickCheck.Gen", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "suchThat" }, "sortText": "Z.suchThat", "additionalTextEdits": null, "filterText": null, "insertText": "suchThat", "kind": 12, "label": "suchThat" }, { "detail": "∀ a. (Size → Gen a) → Gen a", "documentation": { "kind": "markdown", "value": "Create a random generator which depends on the size parameter.\n\n*From: Test.QuickCheck.Gen*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sized", "Test.QuickCheck.Gen", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "sized" }, "sortText": "Z.sized", "additionalTextEdits": null, "filterText": null, "insertText": "sized", "kind": 12, "label": "sized" }, { "detail": "∀ a. Array a → Gen (Array a)", "documentation": { "kind": "markdown", "value": "Generate a random permutation of the given array\n\n*From: Test.QuickCheck.Gen*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "shuffle", "Test.QuickCheck.Gen", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "shuffle" }, "sortText": "Z.shuffle", "additionalTextEdits": null, "filterText": null, "insertText": "shuffle", "kind": 12, "label": "shuffle" }, { "detail": "∀ a. Seed → Size → Gen a → Array a", "documentation": { "kind": "markdown", "value": "Sample a random generator\n\n*From: Test.QuickCheck.Gen*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sample", "Test.QuickCheck.Gen", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "sample" }, "sortText": "Z.sample", "additionalTextEdits": null, "filterText": null, "insertText": "sample", "kind": 12, "label": "sample" }, { "detail": "∀ m g i a. Monad m ⇒ SpecT g i m a → SpecT g i m a", "documentation": { "kind": "markdown", "value": "marks all spec items of the given spec to be evaluated sequentially.\n\n*From: Test.Spec*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sequential", "Test.Spec", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "sequential" }, "sortText": "Z.sequential", "additionalTextEdits": null, "filterText": null, "insertText": "sequential", "kind": 12, "label": "sequential" }, { "detail": "∀ m t. MonadThrow Error m ⇒ Show t ⇒ Eq t ⇒ t → t → m Unit", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Assertions*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "shouldEqual", "Test.Spec.Assertions", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "shouldEqual" }, "sortText": "Z.shouldEqual", "additionalTextEdits": null, "filterText": null, "insertText": "shouldEqual", "kind": 12, "label": "shouldEqual" }, { "detail": "∀ m t. MonadThrow Error m ⇒ Show t ⇒ Eq t ⇒ t → t → m Unit", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Assertions*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "shouldNotEqual", "Test.Spec.Assertions", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "shouldNotEqual" }, "sortText": "Z.shouldNotEqual", "additionalTextEdits": null, "filterText": null, "insertText": "shouldNotEqual", "kind": 12, "label": "shouldNotEqual" }, { "detail": "∀ m f a. MonadThrow Error m ⇒ Show a ⇒ Eq a ⇒ Show (f a) ⇒ Foldable f ⇒ f a → a → m Unit", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Assertions*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "shouldContain", "Test.Spec.Assertions", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "shouldContain" }, "sortText": "Z.shouldContain", "additionalTextEdits": null, "filterText": null, "insertText": "shouldContain", "kind": 12, "label": "shouldContain" }, { "detail": "∀ m f a. MonadThrow Error m ⇒ Show a ⇒ Eq a ⇒ Show (f a) ⇒ Foldable f ⇒ f a → a → m Unit", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Assertions*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "shouldNotContain", "Test.Spec.Assertions", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "shouldNotContain" }, "sortText": "Z.shouldNotContain", "additionalTextEdits": null, "filterText": null, "insertText": "shouldNotContain", "kind": 12, "label": "shouldNotContain" }, { "detail": "∀ m t. MonadThrow Error m ⇒ Show t ⇒ t → (t → Boolean) → m Unit", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Assertions*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "shouldNotSatisfy", "Test.Spec.Assertions", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "shouldNotSatisfy" }, "sortText": "Z.shouldNotSatisfy", "additionalTextEdits": null, "filterText": null, "insertText": "shouldNotSatisfy", "kind": 12, "label": "shouldNotSatisfy" }, { "detail": "∀ m t. MonadThrow Error m ⇒ Show t ⇒ t → (t → Boolean) → m Unit", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Assertions*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "shouldSatisfy", "Test.Spec.Assertions", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "shouldSatisfy" }, "sortText": "Z.shouldSatisfy", "additionalTextEdits": null, "filterText": null, "insertText": "shouldSatisfy", "kind": 12, "label": "shouldSatisfy" }, { "detail": "∀ m t. MonadThrow Error m ⇒ Eq t ⇒ Show t ⇒ m t → t → m Unit", "documentation": { "kind": "markdown", "value": "Asserts that `m t` returns `t`\n\n*From: Test.Spec.Assertions*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "shouldReturn", "Test.Spec.Assertions", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "shouldReturn" }, "sortText": "Z.shouldReturn", "additionalTextEdits": null, "filterText": null, "insertText": "shouldReturn", "kind": 12, "label": "shouldReturn" }, { "detail": "∀ m t. MonadThrow Error m ⇒ Eq t ⇒ Show t ⇒ m t → t → m Unit", "documentation": { "kind": "markdown", "value": "Asserts that `m t` does not return `t`\n\n*From: Test.Spec.Assertions*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "shouldNotReturn", "Test.Spec.Assertions", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "shouldNotReturn" }, "sortText": "Z.shouldNotReturn", "additionalTextEdits": null, "filterText": null, "insertText": "shouldNotReturn", "kind": 12, "label": "shouldNotReturn" }, { "detail": "∀ m. MonadThrow Error m ⇒ String → String → m Unit", "documentation": { "kind": "markdown", "value": "Asserts `string` contains `subs`\n\n```purescript\nstring `shouldContain` subs\n```\n\n*From: Test.Spec.Assertions.String*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "shouldContain", "Test.Spec.Assertions.String", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "shouldContain" }, "sortText": "Z.shouldContain", "additionalTextEdits": null, "filterText": null, "insertText": "shouldContain", "kind": 12, "label": "shouldContain" }, { "detail": "∀ m. MonadThrow Error m ⇒ String → String → m Unit", "documentation": { "kind": "markdown", "value": "Asserts `string` does not contain `subs`\n\n```purescript\nstring `shouldContain` subs\n```\n\n*From: Test.Spec.Assertions.String*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "shouldNotContain", "Test.Spec.Assertions.String", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "shouldNotContain" }, "sortText": "Z.shouldNotContain", "additionalTextEdits": null, "filterText": null, "insertText": "shouldNotContain", "kind": 12, "label": "shouldNotContain" }, { "detail": "∀ m. MonadThrow Error m ⇒ String → String → m Unit", "documentation": { "kind": "markdown", "value": "Asserts `string` starts with `prefix`\n\n```purescript\nstring `shouldStartWith` prefix\n```\n\n*From: Test.Spec.Assertions.String*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "shouldStartWith", "Test.Spec.Assertions.String", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "shouldStartWith" }, "sortText": "Z.shouldStartWith", "additionalTextEdits": null, "filterText": null, "insertText": "shouldStartWith", "kind": 12, "label": "shouldStartWith" }, { "detail": "∀ m. MonadThrow Error m ⇒ String → String → m Unit", "documentation": { "kind": "markdown", "value": "Asserts `string` ends with `suffix`\n\n```purescript\nstring `shouldEndWith` suffix\n```\n\n*From: Test.Spec.Assertions.String*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "shouldEndWith", "Test.Spec.Assertions.String", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "shouldEndWith" }, "sortText": "Z.shouldEndWith", "additionalTextEdits": null, "filterText": null, "insertText": "shouldEndWith", "kind": 12, "label": "shouldEndWith" }, { "detail": "Reporter", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Reporter*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "specReporter", "Test.Spec.Reporter", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "specReporter" }, "sortText": "Z.specReporter", "additionalTextEdits": null, "filterText": null, "insertText": "specReporter", "kind": 12, "label": "specReporter" }, { "detail": "Reporter", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Reporter.Spec*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "specReporter", "Test.Spec.Reporter.Spec", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "specReporter" }, "sortText": "Z.specReporter", "additionalTextEdits": null, "filterText": null, "insertText": "specReporter", "kind": 12, "label": "specReporter" }, { "detail": "Milliseconds → Milliseconds → Speed", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Speed*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "speedOf", "Test.Spec.Speed", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "speedOf" }, "sortText": "Z.speedOf", "additionalTextEdits": null, "filterText": null, "insertText": "speedOf", "kind": 12, "label": "speedOf" }, { "detail": "Style → String → String", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Style*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "styled", "Test.Spec.Style", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "styled" }, "sortText": "Z.styled", "additionalTextEdits": null, "filterText": null, "insertText": "styled", "kind": 12, "label": "styled" }, { "detail": "∀ a. Array (Tree a Result) → Summary", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Summary*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "summarize", "Test.Spec.Summary", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "summarize" }, "sortText": "Z.summarize", "additionalTextEdits": null, "filterText": null, "insertText": "summarize", "kind": 12, "label": "summarize" }, { "detail": "∀ a. Array (Tree a Result) → Boolean", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Summary*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "successful", "Test.Spec.Summary", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "successful" }, "sortText": "Z.successful", "additionalTextEdits": null, "filterText": null, "insertText": "successful", "kind": 12, "label": "successful" }, { "detail": "Spec Unit", "documentation": { "kind": "markdown", "value": "\n*From: Test.StringUtilsSpec*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "spec", "Test.StringUtilsSpec", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "spec" }, "sortText": "Z.spec", "additionalTextEdits": null, "filterText": null, "insertText": "spec", "kind": 12, "label": "spec" }, { "detail": "∀ a. Semiring a ⇒ a → a", "documentation": { "kind": "markdown", "value": "Returns input multiplied by iself\n\n*From: Utils.Math*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "square", "Utils.Math", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 0, "line": 7 }, "end": { "line": 7, "character": 1 } }, "newText": "square" }, "sortText": "Z.square", "additionalTextEdits": null, "filterText": null, "insertText": "square", "kind": 12, "label": "square" } ], "isIncomplete": false } [Trace - 4:16:37 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 39 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec)\n\nspec :: Spec Unit\nspec \n" } ] } [Trace - 4:16:37 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 40 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec)\n\nspec :: Spec Unit\nspec =\n" } ] } [Trace - 4:16:37 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 41 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec)\n\nspec :: Spec Unit\nspec = d\n" } ] } [Trace - 4:16:37 PM] Sending request 'textDocument/completion - (24)'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" }, "position": { "line": 7, "character": 8 }, "context": { "triggerKind": 1 } } [Trace - 4:16:37 PM] Received notification 'window/logMessage'. Params: { "type": 3, "message": "[Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead\n" } [Info - 4:16:37 PM] [Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead [Trace - 4:16:37 PM] Received response 'textDocument/completion - (24)' in 37ms. Result: { "items": [ { "detail": "NonEmptyList GraphicsParam", "documentation": { "kind": "markdown", "value": "\n*From: Ansi.Output*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dim", "Ansi.Output", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "dim" }, "sortText": "Z.dim", "additionalTextEdits": null, "filterText": null, "insertText": "dim", "kind": 12, "label": "dim" }, { "detail": "∀ f b a. Discard a ⇒ Bind f ⇒ f a → (a → f b) → f b", "documentation": { "kind": "markdown", "value": "\n*From: Control.Bind*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "discard", "Control.Bind", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "discard" }, "sortText": "Z.discard", "additionalTextEdits": null, "filterText": null, "insertText": "discard", "kind": 12, "label": "discard" }, { "detail": "∀ a w. Extend w ⇒ w a → w (w a)", "documentation": { "kind": "markdown", "value": "Duplicate a comonadic context.\n\n`duplicate` is dual to `Control.Bind.join`.\n\n*From: Control.Comonad*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "duplicate", "Control.Comonad", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "duplicate" }, "sortText": "Z.duplicate", "additionalTextEdits": null, "filterText": null, "insertText": "duplicate", "kind": 12, "label": "duplicate" }, { "detail": "∀ f a. (Unit → Tuple a (f (Cofree f a))) → Cofree f a", "documentation": { "kind": "markdown", "value": "Lazily creates a value of type `Cofree f a` from a label and a\nfunctor-full of \"subtrees\".\n\n*From: Control.Comonad.Cofree*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "deferCofree", "Control.Comonad.Cofree", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "deferCofree" }, "sortText": "Z.deferCofree", "additionalTextEdits": null, "filterText": null, "insertText": "deferCofree", "kind": 12, "label": "deferCofree" }, { "detail": "∀ a w. Extend w ⇒ w a → w (w a)", "documentation": { "kind": "markdown", "value": "Duplicate a comonadic context.\n\n`duplicate` is dual to `Control.Bind.join`.\n\n*From: Control.Extend*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "duplicate", "Control.Extend", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "duplicate" }, "sortText": "Z.duplicate", "additionalTextEdits": null, "filterText": null, "insertText": "duplicate", "kind": 12, "label": "duplicate" }, { "detail": "∀ l. Lazy l ⇒ (Unit → l) → l", "documentation": { "kind": "markdown", "value": "\n*From: Control.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defer", "Control.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "defer" }, "sortText": "Z.defer", "additionalTextEdits": null, "filterText": null, "insertText": "defer", "kind": 12, "label": "defer" }, { "detail": "∀ f a. Applicative f ⇒ Int → ListT f a → ListT f a", "documentation": { "kind": "markdown", "value": "Drop a number of elements from the front of a list.\n\n*From: Control.Monad.List.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drop", "Control.Monad.List.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "drop" }, "sortText": "Z.drop", "additionalTextEdits": null, "filterText": null, "insertText": "drop", "kind": 12, "label": "drop" }, { "detail": "∀ f a. Applicative f ⇒ (a → Boolean) → ListT f a → ListT f a", "documentation": { "kind": "markdown", "value": "Drop elements from the front of a list while a predicate holds.\n\n*From: Control.Monad.List.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropWhile", "Control.Monad.List.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "dropWhile" }, "sortText": "Z.dropWhile", "additionalTextEdits": null, "filterText": null, "insertText": "dropWhile", "kind": 12, "label": "dropWhile" }, { "detail": "∀ a. a → Trampoline a", "documentation": { "kind": "markdown", "value": "Return a value immediately\n\n*From: Control.Monad.Trampoline*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "done", "Control.Monad.Trampoline", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "done" }, "sortText": "Z.done", "additionalTextEdits": null, "filterText": null, "insertText": "done", "kind": 12, "label": "done" }, { "detail": "∀ a. (Unit → a) → Trampoline a", "documentation": { "kind": "markdown", "value": "Use the `Trampoline` monad to represent the delayed evaluation of a value.\n\n*From: Control.Monad.Trampoline*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "delay", "Control.Monad.Trampoline", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "delay" }, "sortText": "Z.delay", "additionalTextEdits": null, "filterText": null, "insertText": "delay", "kind": 12, "label": "delay" }, { "detail": "∀ a. Int → Array a → Maybe (Array a)", "documentation": { "kind": "markdown", "value": "Delete the element at the specified index, creating a new array, or\nreturning `Nothing` if the index is out of bounds.\n\n```purescript\ndeleteAt 0 [\"Hello\", \"World\"] = Just [\"World\"]\ndeleteAt 10 [\"Hello\", \"World\"] = Nothing\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "deleteAt", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "deleteAt" }, "sortText": "Z.deleteAt", "additionalTextEdits": null, "filterText": null, "insertText": "deleteAt", "kind": 12, "label": "deleteAt" }, { "detail": "∀ a. Int → Array a → Array a", "documentation": { "kind": "markdown", "value": "Drop a number of elements from the start of an array, creating a new array.\n\n```purescript\nletters = [\"a\", \"b\", \"c\", \"d\"]\n\ndrop 2 letters = [\"c\", \"d\"]\ndrop 10 letters = []\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drop", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "drop" }, "sortText": "Z.drop", "additionalTextEdits": null, "filterText": null, "insertText": "drop", "kind": 12, "label": "drop" }, { "detail": "∀ a. Int → Array a → Array a", "documentation": { "kind": "markdown", "value": "Drop a number of elements from the end of an array, creating a new array.\n\n```purescript\nletters = [\"a\", \"b\", \"c\", \"d\"]\n\ndropEnd 2 letters = [\"a\", \"b\"]\ndropEnd 10 letters = []\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropEnd", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "dropEnd" }, "sortText": "Z.dropEnd", "additionalTextEdits": null, "filterText": null, "insertText": "dropEnd", "kind": 12, "label": "dropEnd" }, { "detail": "∀ a. (a → Boolean) → Array a → Array a", "documentation": { "kind": "markdown", "value": "Remove the longest initial subarray for which all element satisfy the\nspecified predicate, creating a new array.\n\n```purescript\ndropWhile (_ < 0) [-3, -1, 0, 4, -6] = [0, 4, -6]\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropWhile", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "dropWhile" }, "sortText": "Z.dropWhile", "additionalTextEdits": null, "filterText": null, "insertText": "dropWhile", "kind": 12, "label": "dropWhile" }, { "detail": "∀ a. Eq a ⇒ a → Array a → Array a", "documentation": { "kind": "markdown", "value": "Delete the first element of an array which is equal to the specified value,\ncreating a new array.\n\n```purescript\ndelete 7 [1, 7, 3, 7] = [1, 3, 7]\ndelete 7 [1, 2, 3] = [1, 2, 3]\n```\n\nRunning time: `O(n)`\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "delete", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "delete" }, "sortText": "Z.delete", "additionalTextEdits": null, "filterText": null, "insertText": "delete", "kind": 12, "label": "delete" }, { "detail": "∀ a. (a → a → Boolean) → a → Array a → Array a", "documentation": { "kind": "markdown", "value": "Delete the first element of an array which matches the specified value,\nunder the equivalence relation provided in the first argument, creating a\nnew array.\n\n```purescript\nmod3eq a b = a `mod` 3 == b `mod` 3\ndeleteBy mod3eq 6 [1, 3, 4, 3] = [1, 4, 3]\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "deleteBy", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "deleteBy" }, "sortText": "Z.deleteBy", "additionalTextEdits": null, "filterText": null, "insertText": "deleteBy", "kind": 12, "label": "deleteBy" }, { "detail": "∀ a. Eq a ⇒ Array a → Array a → Array a", "documentation": { "kind": "markdown", "value": "Delete the first occurrence of each element in the second array from the\nfirst array, creating a new array.\n\n```purescript\ndifference [2, 1] [2, 3] = [1]\n```\n\nRunning time: `O(n*m)`, where n is the length of the first array, and m is\nthe length of the second.\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "difference", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "difference" }, "sortText": "Z.difference", "additionalTextEdits": null, "filterText": null, "insertText": "difference", "kind": 12, "label": "difference" }, { "detail": "∀ a. Int → NonEmptyArray a → Maybe (Array a)", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "deleteAt", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "deleteAt" }, "sortText": "Z.deleteAt", "additionalTextEdits": null, "filterText": null, "insertText": "deleteAt", "kind": 12, "label": "deleteAt" }, { "detail": "∀ a. Int → NonEmptyArray a → Array a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drop", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "drop" }, "sortText": "Z.drop", "additionalTextEdits": null, "filterText": null, "insertText": "drop", "kind": 12, "label": "drop" }, { "detail": "∀ a. Int → NonEmptyArray a → Array a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropEnd", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "dropEnd" }, "sortText": "Z.dropEnd", "additionalTextEdits": null, "filterText": null, "insertText": "dropEnd", "kind": 12, "label": "dropEnd" }, { "detail": "∀ a. (a → Boolean) → NonEmptyArray a → Array a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropWhile", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "dropWhile" }, "sortText": "Z.dropWhile", "additionalTextEdits": null, "filterText": null, "insertText": "dropWhile", "kind": 12, "label": "dropWhile" }, { "detail": "∀ a. Eq a ⇒ a → NonEmptyArray a → Array a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "delete", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "delete" }, "sortText": "Z.delete", "additionalTextEdits": null, "filterText": null, "insertText": "delete", "kind": 12, "label": "delete" }, { "detail": "∀ a. (a → a → Boolean) → a → NonEmptyArray a → Array a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "deleteBy", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "deleteBy" }, "sortText": "Z.deleteBy", "additionalTextEdits": null, "filterText": null, "insertText": "deleteBy", "kind": 12, "label": "deleteBy" }, { "detail": "∀ a. Eq a ⇒ NonEmptyArray a → NonEmptyArray a → Array a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "difference", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "difference" }, "sortText": "Z.difference", "additionalTextEdits": null, "filterText": null, "insertText": "difference", "kind": 12, "label": "difference" }, { "detail": "∀ a. Eq a ⇒ NonEmptyArray a → Array a → Array a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "difference'", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "difference'" }, "sortText": "Z.difference'", "additionalTextEdits": null, "filterText": null, "insertText": "difference'", "kind": 12, "label": "difference'" }, { "detail": "Int → BigInt → BaseDigits", "documentation": { "kind": "markdown", "value": "A base N representation of the `BigInt` as an array of digits.\n\n*From: Data.BigInt*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "digitsInBase", "Data.BigInt", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "digitsInBase" }, "sortText": "Z.digitsInBase", "additionalTextEdits": null, "filterText": null, "insertText": "digitsInBase", "kind": 12, "label": "digitsInBase" }, { "detail": "∀ a. HeytingAlgebra a ⇒ a → a → a", "documentation": { "kind": "markdown", "value": "\n*From: Data.BooleanAlgebra*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "disj", "Data.BooleanAlgebra", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "disj" }, "sortText": "Z.disj", "additionalTextEdits": null, "filterText": null, "insertText": "disj", "kind": 12, "label": "disj" }, { "detail": "∀ a. Ord a ⇒ Comparison a", "documentation": { "kind": "markdown", "value": "The default comparison for any values with an `Ord` instance.\n\n*From: Data.Comparison*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultComparison", "Data.Comparison", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "defaultComparison" }, "sortText": "Z.defaultComparison", "additionalTextEdits": null, "filterText": null, "insertText": "defaultComparison", "kind": 12, "label": "defaultComparison" }, { "detail": "Date → Day", "documentation": { "kind": "markdown", "value": "The day component of a date value.\n\n*From: Data.Date*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "day", "Data.Date", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "day" }, "sortText": "Z.day", "additionalTextEdits": null, "filterText": null, "insertText": "day", "kind": 12, "label": "day" }, { "detail": "∀ d. Duration d ⇒ Date → Date → d", "documentation": { "kind": "markdown", "value": "Calculates the difference between two dates, returning the result as a\nduration.\n\n*From: Data.Date*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "diff", "Data.Date", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "diff" }, "sortText": "Z.diff", "additionalTextEdits": null, "filterText": null, "insertText": "diff", "kind": 12, "label": "diff" }, { "detail": "DateTime → Date", "documentation": { "kind": "markdown", "value": "\n*From: Data.DateTime*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "date", "Data.DateTime", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "date" }, "sortText": "Z.date", "additionalTextEdits": null, "filterText": null, "insertText": "date", "kind": 12, "label": "date" }, { "detail": "∀ d. Duration d ⇒ DateTime → DateTime → d", "documentation": { "kind": "markdown", "value": "Calculates the difference between two date/time values, returning the\nresult as a duration.\n\n*From: Data.DateTime*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "diff", "Data.DateTime", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "diff" }, "sortText": "Z.diff", "additionalTextEdits": null, "filterText": null, "insertText": "diff", "kind": 12, "label": "diff" }, { "detail": "Date → Day", "documentation": { "kind": "markdown", "value": "The day component of a date value.\n\n*From: Data.DateTime*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "day", "Data.DateTime", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "day" }, "sortText": "Z.day", "additionalTextEdits": null, "filterText": null, "insertText": "day", "kind": 12, "label": "day" }, { "detail": "∀ a g f. Distributive f ⇒ Functor g ⇒ g (f a) → f (g a)", "documentation": { "kind": "markdown", "value": "\n*From: Data.Distributive*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "distribute", "Data.Distributive", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "distribute" }, "sortText": "Z.distribute", "additionalTextEdits": null, "filterText": null, "insertText": "distribute", "kind": 12, "label": "distribute" }, { "detail": "∀ a f g. Distributive f ⇒ Functor g ⇒ g (f a) → f (g a)", "documentation": { "kind": "markdown", "value": "A default implementation of `distribute`, based on `collect`.\n\n*From: Data.Distributive*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "distributeDefault", "Data.Distributive", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "distributeDefault" }, "sortText": "Z.distributeDefault", "additionalTextEdits": null, "filterText": null, "insertText": "distributeDefault", "kind": 12, "label": "distributeDefault" }, { "detail": "∀ a b c f. Divide f ⇒ (a → Tuple b c) → f b → f c → f a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Divide*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "divide", "Data.Divide", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "divide" }, "sortText": "Z.divide", "additionalTextEdits": null, "filterText": null, "insertText": "divide", "kind": 12, "label": "divide" }, { "detail": "∀ f a b. Divide f ⇒ f a → f b → f (Tuple a b)", "documentation": { "kind": "markdown", "value": "`divided = divide id`\n\n*From: Data.Divide*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "divided", "Data.Divide", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "divided" }, "sortText": "Z.divided", "additionalTextEdits": null, "filterText": null, "insertText": "divided", "kind": 12, "label": "divided" }, { "detail": "∀ a u. Enum a ⇒ Unfoldable u ⇒ a → u a", "documentation": { "kind": "markdown", "value": "Produces all predecessors of an `Enum` value, excluding the start value.\n\n*From: Data.Enum*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "downFrom", "Data.Enum", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "downFrom" }, "sortText": "Z.downFrom", "additionalTextEdits": null, "filterText": null, "insertText": "downFrom", "kind": 12, "label": "downFrom" }, { "detail": "∀ a u. Enum a ⇒ Unfoldable1 u ⇒ a → u a", "documentation": { "kind": "markdown", "value": "Produces all predecessors of an `Enum` value, including the start value.\n\n`downFromIncluding top` will return all values in an `Enum`, in reverse\norder.\n\n*From: Data.Enum*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "downFromIncluding", "Data.Enum", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "downFromIncluding" }, "sortText": "Z.downFromIncluding", "additionalTextEdits": null, "filterText": null, "insertText": "downFromIncluding", "kind": 12, "label": "downFromIncluding" }, { "detail": "∀ a. (Int → Maybe a) → (a → Int) → a → Maybe a", "documentation": { "kind": "markdown", "value": "Provides a default implementation for `succ`, given a function that maps\nintegers to values in the `Enum`, and a function that maps values in the\n`Enum` back to integers. The integer mapping must agree in both directions\nfor this to implement a law-abiding `succ`.\n\nIf a `BoundedEnum` instance exists for `a`, the `toEnum` and `fromEnum`\nfunctions can be used here:\n\n``` purescript\nsucc = defaultSucc toEnum fromEnum\n```\n\n*From: Data.Enum*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultSucc", "Data.Enum", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "defaultSucc" }, "sortText": "Z.defaultSucc", "additionalTextEdits": null, "filterText": null, "insertText": "defaultSucc", "kind": 12, "label": "defaultSucc" }, { "detail": "∀ a. (Int → Maybe a) → (a → Int) → a → Maybe a", "documentation": { "kind": "markdown", "value": "Provides a default implementation for `pred`, given a function that maps\nintegers to values in the `Enum`, and a function that maps values in the\n`Enum` back to integers. The integer mapping must agree in both directions\nfor this to implement a law-abiding `pred`.\n\nIf a `BoundedEnum` instance exists for `a`, the `toEnum` and `fromEnum`\nfunctions can be used here:\n\n``` purescript\npred = defaultPred toEnum fromEnum\n```\n\n*From: Data.Enum*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultPred", "Data.Enum", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "defaultPred" }, "sortText": "Z.defaultPred", "additionalTextEdits": null, "filterText": null, "insertText": "defaultPred", "kind": 12, "label": "defaultPred" }, { "detail": "∀ a. Bounded a ⇒ Enum a ⇒ Cardinality a", "documentation": { "kind": "markdown", "value": "Provides a default implementation for `cardinality`.\n\nRuns in `O(n)` where `n` is `fromEnum top`\n\n*From: Data.Enum*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultCardinality", "Data.Enum", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "defaultCardinality" }, "sortText": "Z.defaultCardinality", "additionalTextEdits": null, "filterText": null, "insertText": "defaultCardinality", "kind": 12, "label": "defaultCardinality" }, { "detail": "∀ a. Bounded a ⇒ Enum a ⇒ Int → Maybe a", "documentation": { "kind": "markdown", "value": "Provides a default implementation for `toEnum`.\n\n- Assumes `fromEnum bottom = 0`.\n- Cannot be used in conjuction with `defaultSucc`.\n\nRuns in `O(n)` where `n` is `fromEnum a`.\n\n*From: Data.Enum*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultToEnum", "Data.Enum", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "defaultToEnum" }, "sortText": "Z.defaultToEnum", "additionalTextEdits": null, "filterText": null, "insertText": "defaultToEnum", "kind": 12, "label": "defaultToEnum" }, { "detail": "∀ a. Enum a ⇒ a → Int", "documentation": { "kind": "markdown", "value": "Provides a default implementation for `fromEnum`.\n\n- Assumes `toEnum 0 = Just bottom`.\n- Cannot be used in conjuction with `defaultPred`.\n\nRuns in `O(n)` where `n` is `fromEnum a`.\n\n*From: Data.Enum*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultFromEnum", "Data.Enum", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "defaultFromEnum" }, "sortText": "Z.defaultFromEnum", "additionalTextEdits": null, "filterText": null, "insertText": "defaultFromEnum", "kind": 12, "label": "defaultFromEnum" }, { "detail": "∀ a. Eq a ⇒ Equivalence a", "documentation": { "kind": "markdown", "value": "The default equivalence relation for any values with an `Eq` instance.\n\n*From: Data.Equivalence*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultEquivalence", "Data.Equivalence", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "defaultEquivalence" }, "sortText": "Z.defaultEquivalence", "additionalTextEdits": null, "filterText": null, "insertText": "defaultEquivalence", "kind": 12, "label": "defaultEquivalence" }, { "detail": "∀ a. EuclideanRing a ⇒ a → Int", "documentation": { "kind": "markdown", "value": "\n*From: Data.EuclideanRing*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "degree", "Data.EuclideanRing", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "degree" }, "sortText": "Z.degree", "additionalTextEdits": null, "filterText": null, "insertText": "degree", "kind": 12, "label": "degree" }, { "detail": "∀ a. EuclideanRing a ⇒ a → a → a", "documentation": { "kind": "markdown", "value": "\n*From: Data.EuclideanRing*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "div", "Data.EuclideanRing", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "div" }, "sortText": "Z.div", "additionalTextEdits": null, "filterText": null, "insertText": "div", "kind": 12, "label": "div" }, { "detail": "∀ a. EuclideanRing a ⇒ a → Int", "documentation": { "kind": "markdown", "value": "\n*From: Data.Field*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "degree", "Data.Field", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "degree" }, "sortText": "Z.degree", "additionalTextEdits": null, "filterText": null, "insertText": "degree", "kind": 12, "label": "degree" }, { "detail": "∀ a. EuclideanRing a ⇒ a → a → a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Field*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "div", "Data.Field", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "div" }, "sortText": "Z.div", "additionalTextEdits": null, "filterText": null, "insertText": "div", "kind": 12, "label": "div" }, { "detail": "∀ a. HeytingAlgebra a ⇒ a → a → a", "documentation": { "kind": "markdown", "value": "\n*From: Data.HeytingAlgebra*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "disj", "Data.HeytingAlgebra", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "disj" }, "sortText": "Z.disj", "additionalTextEdits": null, "filterText": null, "insertText": "disj", "kind": 12, "label": "disj" }, { "detail": "∀ subrow row rowlist. HeytingAlgebraRecord rowlist row subrow ⇒ RLProxy rowlist → Record row → Record row → Record subrow", "documentation": { "kind": "markdown", "value": "\n*From: Data.HeytingAlgebra*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "disjRecord", "Data.HeytingAlgebra", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "disjRecord" }, "sortText": "Z.disjRecord", "additionalTextEdits": null, "filterText": null, "insertText": "disjRecord", "kind": 12, "label": "disjRecord" }, { "detail": "Radix", "documentation": { "kind": "markdown", "value": "The base-10 system.\n\n*From: Data.Int*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "decimal", "Data.Int", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "decimal" }, "sortText": "Z.decimal", "additionalTextEdits": null, "filterText": null, "insertText": "decimal", "kind": 12, "label": "decimal" }, { "detail": "Number → Duration", "documentation": { "kind": "markdown", "value": "\n*From: Data.Interval*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "day", "Data.Interval", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "day" }, "sortText": "Z.day", "additionalTextEdits": null, "filterText": null, "insertText": "day", "kind": 12, "label": "day" }, { "detail": "Number → Duration", "documentation": { "kind": "markdown", "value": "\n*From: Data.Interval.Duration*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "day", "Data.Interval.Duration", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "day" }, "sortText": "Z.day", "additionalTextEdits": null, "filterText": null, "insertText": "day", "kind": 12, "label": "day" }, { "detail": "∀ a. (Unit → a) → Lazy a", "documentation": { "kind": "markdown", "value": "Defer a computation, creating a `Lazy` value.\n\n*From: Data.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defer", "Data.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "defer" }, "sortText": "Z.defer", "additionalTextEdits": null, "filterText": null, "insertText": "defer", "kind": 12, "label": "defer" }, { "detail": "∀ a. Int → List a → Maybe (List a)", "documentation": { "kind": "markdown", "value": "Delete an element from a list at the specified index, returning a new\nlist or `Nothing` if the index is out-of-bounds.\n\nRunning time: `O(n)`\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "deleteAt", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "deleteAt" }, "sortText": "Z.deleteAt", "additionalTextEdits": null, "filterText": null, "insertText": "deleteAt", "kind": 12, "label": "deleteAt" }, { "detail": "∀ a. Int → List a → List a", "documentation": { "kind": "markdown", "value": "Drop the specified number of elements from the front of a list.\n\nRunning time: `O(n)` where `n` is the number of elements to drop.\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drop", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "drop" }, "sortText": "Z.drop", "additionalTextEdits": null, "filterText": null, "insertText": "drop", "kind": 12, "label": "drop" }, { "detail": "∀ a. Int → List a → List a", "documentation": { "kind": "markdown", "value": "Drop the specified number of elements from the end of a list.\n\nRunning time: `O(2n - m)` where `n` is the number of elements in list\nand `m` is number of elements to drop.\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropEnd", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "dropEnd" }, "sortText": "Z.dropEnd", "additionalTextEdits": null, "filterText": null, "insertText": "dropEnd", "kind": 12, "label": "dropEnd" }, { "detail": "∀ a. (a → Boolean) → List a → List a", "documentation": { "kind": "markdown", "value": "Drop those elements from the front of a list which match a predicate.\n\nRunning time (worst case): `O(n)`\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropWhile", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "dropWhile" }, "sortText": "Z.dropWhile", "additionalTextEdits": null, "filterText": null, "insertText": "dropWhile", "kind": 12, "label": "dropWhile" }, { "detail": "∀ a. Eq a ⇒ a → List a → List a", "documentation": { "kind": "markdown", "value": "Delete the first occurrence of an element from a list.\n\nRunning time: `O(n)`\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "delete", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "delete" }, "sortText": "Z.delete", "additionalTextEdits": null, "filterText": null, "insertText": "delete", "kind": 12, "label": "delete" }, { "detail": "∀ a. (a → a → Boolean) → a → List a → List a", "documentation": { "kind": "markdown", "value": "Delete the first occurrence of an element from a list, using the specified\nfunction to determine equality of elements.\n\nRunning time: `O(n)`\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "deleteBy", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "deleteBy" }, "sortText": "Z.deleteBy", "additionalTextEdits": null, "filterText": null, "insertText": "deleteBy", "kind": 12, "label": "deleteBy" }, { "detail": "∀ a. Eq a ⇒ List a → List a → List a", "documentation": { "kind": "markdown", "value": "Delete the first occurrence of each element in the second list from the first list.\n\nRunning time: `O(n^2)`\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "difference", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "difference" }, "sortText": "Z.difference", "additionalTextEdits": null, "filterText": null, "insertText": "difference", "kind": 12, "label": "difference" }, { "detail": "∀ a. Int → List a → List a", "documentation": { "kind": "markdown", "value": "Delete an element from a list at the specified index, returning a new\nlist or `Nothing` if the index is out-of-bounds.\n\nThis function differs from the strict equivalent in that out-of-bounds arguments\nresult in the original list being returned unchanged.\n\nRunning time: `O(n)`\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "deleteAt", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "deleteAt" }, "sortText": "Z.deleteAt", "additionalTextEdits": null, "filterText": null, "insertText": "deleteAt", "kind": 12, "label": "deleteAt" }, { "detail": "∀ a. Int → List a → List a", "documentation": { "kind": "markdown", "value": "Drop the specified number of elements from the front of a list.\n\nRunning time: `O(n)` where `n` is the number of elements to drop.\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drop", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "drop" }, "sortText": "Z.drop", "additionalTextEdits": null, "filterText": null, "insertText": "drop", "kind": 12, "label": "drop" }, { "detail": "∀ a. (a → Boolean) → List a → List a", "documentation": { "kind": "markdown", "value": "Drop those elements from the front of a list which match a predicate.\n\nRunning time (worst case): `O(n)`\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropWhile", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "dropWhile" }, "sortText": "Z.dropWhile", "additionalTextEdits": null, "filterText": null, "insertText": "dropWhile", "kind": 12, "label": "dropWhile" }, { "detail": "∀ a. Eq a ⇒ a → List a → List a", "documentation": { "kind": "markdown", "value": "Delete the first occurrence of an element from a list.\n\nRunning time: `O(n)`\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "delete", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "delete" }, "sortText": "Z.delete", "additionalTextEdits": null, "filterText": null, "insertText": "delete", "kind": 12, "label": "delete" }, { "detail": "∀ a. (a → a → Boolean) → a → List a → List a", "documentation": { "kind": "markdown", "value": "Delete the first occurrence of an element from a list, using the specified\nfunction to determine equality of elements.\n\nRunning time: `O(n)`\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "deleteBy", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "deleteBy" }, "sortText": "Z.deleteBy", "additionalTextEdits": null, "filterText": null, "insertText": "deleteBy", "kind": 12, "label": "deleteBy" }, { "detail": "∀ a. Eq a ⇒ List a → List a → List a", "documentation": { "kind": "markdown", "value": "Delete the first occurrence of each element in the second list from the first list.\n\nRunning time: `O(n^2)`\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "difference", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "difference" }, "sortText": "Z.difference", "additionalTextEdits": null, "filterText": null, "insertText": "difference", "kind": 12, "label": "difference" }, { "detail": "∀ a. Int → NonEmptyList a → List a", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drop", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "drop" }, "sortText": "Z.drop", "additionalTextEdits": null, "filterText": null, "insertText": "drop", "kind": 12, "label": "drop" }, { "detail": "∀ a. (a → Boolean) → NonEmptyList a → List a", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropWhile", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "dropWhile" }, "sortText": "Z.dropWhile", "additionalTextEdits": null, "filterText": null, "insertText": "dropWhile", "kind": 12, "label": "dropWhile" }, { "detail": "∀ k v. Ord k ⇒ k → Map k v → Map k v", "documentation": { "kind": "markdown", "value": "Delete a key and its corresponding value from a map.\n\n*From: Data.Map*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "delete", "Data.Map", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "delete" }, "sortText": "Z.delete", "additionalTextEdits": null, "filterText": null, "insertText": "delete", "kind": 12, "label": "delete" }, { "detail": "∀ k v w. Ord k ⇒ Map k v → Map k w → Map k v", "documentation": { "kind": "markdown", "value": "Difference of two maps. Return elements of the first map where\nthe keys do not exist in the second map.\n\n*From: Data.Map*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "difference", "Data.Map", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "difference" }, "sortText": "Z.difference", "additionalTextEdits": null, "filterText": null, "insertText": "difference", "kind": 12, "label": "difference" }, { "detail": "∀ k v. Ord k ⇒ k → Map k v → Map k v", "documentation": { "kind": "markdown", "value": "Delete a key and its corresponding value from a map.\n\n*From: Data.Map.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "delete", "Data.Map.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "delete" }, "sortText": "Z.delete", "additionalTextEdits": null, "filterText": null, "insertText": "delete", "kind": 12, "label": "delete" }, { "detail": "∀ k v w. Ord k ⇒ Map k v → Map k w → Map k v", "documentation": { "kind": "markdown", "value": "Difference of two maps. Return elements of the first map where\nthe keys do not exist in the second map.\n\n*From: Data.Map.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "difference", "Data.Map.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "difference" }, "sortText": "Z.difference", "additionalTextEdits": null, "filterText": null, "insertText": "difference", "kind": 12, "label": "difference" }, { "detail": "∀ a. Ord a ⇒ a → Set a → Set a", "documentation": { "kind": "markdown", "value": "Delete a value from a set\n\n*From: Data.Set*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "delete", "Data.Set", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "delete" }, "sortText": "Z.delete", "additionalTextEdits": null, "filterText": null, "insertText": "delete", "kind": 12, "label": "delete" }, { "detail": "∀ a. Ord a ⇒ Set a → Set a → Set a", "documentation": { "kind": "markdown", "value": "Form the set difference\n\n*From: Data.Set*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "difference", "Data.Set", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "difference" }, "sortText": "Z.difference", "additionalTextEdits": null, "filterText": null, "insertText": "difference", "kind": 12, "label": "difference" }, { "detail": "∀ a. Ord a ⇒ a → NonEmptySet a → Maybe (NonEmptySet a)", "documentation": { "kind": "markdown", "value": "Delete a value from a non-empty set. If this would empty the set, the\nresult is `Nothing`.\n\n*From: Data.Set.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "delete", "Data.Set.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "delete" }, "sortText": "Z.delete", "additionalTextEdits": null, "filterText": null, "insertText": "delete", "kind": 12, "label": "delete" }, { "detail": "∀ a. Ord a ⇒ NonEmptySet a → NonEmptySet a → Maybe (NonEmptySet a)", "documentation": { "kind": "markdown", "value": "Form the set difference. `Nothing` if the first is a subset of the second.\n\n*From: Data.Set.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "difference", "Data.Set.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "difference" }, "sortText": "Z.difference", "additionalTextEdits": null, "filterText": null, "insertText": "difference", "kind": 12, "label": "difference" }, { "detail": "Int → String → String", "documentation": { "kind": "markdown", "value": "Drops the given number of code points from the beginning of the string. If\nthe string does not have that many code points, returns the empty string.\nOperates in constant space and in time linear to the given number.\n\n```purescript\n>>> drop 5 \"𝐀𝐀 b c\"\n\"c\"\n-- compared to Data.String:\n>>> drop 5 \"𝐀𝐀 b c\"\n\"b c\" -- because \"𝐀\" occupies 2 code units\n```\n\n\n*From: Data.String*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drop", "Data.String", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "drop" }, "sortText": "Z.drop", "additionalTextEdits": null, "filterText": null, "insertText": "drop", "kind": 12, "label": "drop" }, { "detail": "(CodePoint → Boolean) → String → String", "documentation": { "kind": "markdown", "value": "Drops the leading sequence of code points which all match the given\npredicate from the string. Operates in constant space and in time linear\nto the length of the string.\n\n```purescript\n>>> dropWhile (\\c -> codePointToInt c == 0x1D400) \"𝐀𝐀 b c 𝐀\"\n\" b c 𝐀\"\n```\n\n\n*From: Data.String*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropWhile", "Data.String", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "dropWhile" }, "sortText": "Z.dropWhile", "additionalTextEdits": null, "filterText": null, "insertText": "dropWhile", "kind": 12, "label": "dropWhile" }, { "detail": "Int → String → String", "documentation": { "kind": "markdown", "value": "Drops the given number of code points from the beginning of the string. If\nthe string does not have that many code points, returns the empty string.\nOperates in constant space and in time linear to the given number.\n\n```purescript\n>>> drop 5 \"𝐀𝐀 b c\"\n\"c\"\n-- compared to Data.String:\n>>> drop 5 \"𝐀𝐀 b c\"\n\"b c\" -- because \"𝐀\" occupies 2 code units\n```\n\n\n*From: Data.String.CodePoints*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drop", "Data.String.CodePoints", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "drop" }, "sortText": "Z.drop", "additionalTextEdits": null, "filterText": null, "insertText": "drop", "kind": 12, "label": "drop" }, { "detail": "(CodePoint → Boolean) → String → String", "documentation": { "kind": "markdown", "value": "Drops the leading sequence of code points which all match the given\npredicate from the string. Operates in constant space and in time linear\nto the length of the string.\n\n```purescript\n>>> dropWhile (\\c -> codePointToInt c == 0x1D400) \"𝐀𝐀 b c 𝐀\"\n\" b c 𝐀\"\n```\n\n\n*From: Data.String.CodePoints*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropWhile", "Data.String.CodePoints", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "dropWhile" }, "sortText": "Z.dropWhile", "additionalTextEdits": null, "filterText": null, "insertText": "dropWhile", "kind": 12, "label": "dropWhile" }, { "detail": "Int → String → String", "documentation": { "kind": "markdown", "value": "Returns the string without the first `n` characters.\n\n```purescript\ndrop 6 \"Hello World\" == \"World\"\n```\n\n\n*From: Data.String.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drop", "Data.String.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "drop" }, "sortText": "Z.drop", "additionalTextEdits": null, "filterText": null, "insertText": "drop", "kind": 12, "label": "drop" }, { "detail": "Int → String → String", "documentation": { "kind": "markdown", "value": "Returns the string without the last `n` characters.\n\n```purescript\ndropRight 6 \"Hello World\" == \"Hello\"\n```\n\n\n*From: Data.String.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropRight", "Data.String.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "dropRight" }, "sortText": "Z.dropRight", "additionalTextEdits": null, "filterText": null, "insertText": "dropRight", "kind": 12, "label": "dropRight" }, { "detail": "(Char → Boolean) → String → String", "documentation": { "kind": "markdown", "value": "Returns the suffix remaining after `takeWhile`.\n\n```purescript\ndropWhile (_ /= '.') \"Test.purs\" == \".purs\"\n```\n\n\n*From: Data.String.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropWhile", "Data.String.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "dropWhile" }, "sortText": "Z.dropWhile", "additionalTextEdits": null, "filterText": null, "insertText": "dropWhile", "kind": 12, "label": "dropWhile" }, { "detail": "Int → NonEmptyString → Maybe NonEmptyString", "documentation": { "kind": "markdown", "value": "\n*From: Data.String.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drop", "Data.String.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "drop" }, "sortText": "Z.drop", "additionalTextEdits": null, "filterText": null, "insertText": "drop", "kind": 12, "label": "drop" }, { "detail": "(CodePoint → Boolean) → NonEmptyString → Maybe NonEmptyString", "documentation": { "kind": "markdown", "value": "\n*From: Data.String.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropWhile", "Data.String.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "dropWhile" }, "sortText": "Z.dropWhile", "additionalTextEdits": null, "filterText": null, "insertText": "dropWhile", "kind": 12, "label": "dropWhile" }, { "detail": "Int → NonEmptyString → Maybe NonEmptyString", "documentation": { "kind": "markdown", "value": "\n*From: Data.String.NonEmpty.CodePoints*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drop", "Data.String.NonEmpty.CodePoints", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "drop" }, "sortText": "Z.drop", "additionalTextEdits": null, "filterText": null, "insertText": "drop", "kind": 12, "label": "drop" }, { "detail": "(CodePoint → Boolean) → NonEmptyString → Maybe NonEmptyString", "documentation": { "kind": "markdown", "value": "\n*From: Data.String.NonEmpty.CodePoints*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropWhile", "Data.String.NonEmpty.CodePoints", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "dropWhile" }, "sortText": "Z.dropWhile", "additionalTextEdits": null, "filterText": null, "insertText": "dropWhile", "kind": 12, "label": "dropWhile" }, { "detail": "Int → NonEmptyString → Maybe NonEmptyString", "documentation": { "kind": "markdown", "value": "Returns the string without the first `n` characters. Returns `Nothing` if\nmore characters are dropped than the string is long.\n\n```purescript\ndrop 6 (NonEmptyString \"Hello World\") == Just (NonEmptyString \"World\")\ndrop 20 (NonEmptyString \"Hello World\") == Nothing\n```\n\n*From: Data.String.NonEmpty.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drop", "Data.String.NonEmpty.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "drop" }, "sortText": "Z.drop", "additionalTextEdits": null, "filterText": null, "insertText": "drop", "kind": 12, "label": "drop" }, { "detail": "Int → NonEmptyString → Maybe NonEmptyString", "documentation": { "kind": "markdown", "value": "Returns the string without the last `n` characters. Returns `Nothing` if\nmore characters are dropped than the string is long.\n\n```purescript\ndropRight 6 (NonEmptyString \"Hello World\") == Just (NonEmptyString \"Hello\")\ndropRight 20 (NonEmptyString \"Hello World\") == Nothing\n```\n\n*From: Data.String.NonEmpty.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropRight", "Data.String.NonEmpty.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "dropRight" }, "sortText": "Z.dropRight", "additionalTextEdits": null, "filterText": null, "insertText": "dropRight", "kind": 12, "label": "dropRight" }, { "detail": "(Char → Boolean) → NonEmptyString → Maybe NonEmptyString", "documentation": { "kind": "markdown", "value": "Returns the suffix remaining after `takeWhile`.\n\n```purescript\ndropWhile (_ /= '.') (NonEmptyString \"Test.purs\") == Just (NonEmptyString \".purs\")\n```\n\n*From: Data.String.NonEmpty.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropWhile", "Data.String.NonEmpty.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "dropWhile" }, "sortText": "Z.dropWhile", "additionalTextEdits": null, "filterText": null, "insertText": "dropWhile", "kind": 12, "label": "dropWhile" }, { "detail": "∀ d. Duration d ⇒ Time → Time → d", "documentation": { "kind": "markdown", "value": "Calculates the difference between two times, returning the result as a\nduration.\n\n*From: Data.Time*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "diff", "Data.Time", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "diff" }, "sortText": "Z.diff", "additionalTextEdits": null, "filterText": null, "insertText": "diff", "kind": 12, "label": "diff" }, { "detail": "Milliseconds → Aff Unit", "documentation": { "kind": "markdown", "value": "Pauses the running fiber.\n\n*From: Effect.Aff*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "delay", "Effect.Aff", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "delay" }, "sortText": "Z.delay", "additionalTextEdits": null, "filterText": null, "insertText": "delay", "kind": 12, "label": "delay" }, { "detail": "String → Maybe String", "documentation": { "kind": "markdown", "value": "URI decoding. Returns `Nothing` when given a value with undecodeable\nescape sequences.\n\n*From: Global*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "decodeURI", "Global", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "decodeURI" }, "sortText": "Z.decodeURI", "additionalTextEdits": null, "filterText": null, "insertText": "decodeURI", "kind": 12, "label": "decodeURI" }, { "detail": "String → Maybe String", "documentation": { "kind": "markdown", "value": "URI component decoding. Returns `Nothing` when given a value with\nundecodeable escape sequences.\n\n*From: Global*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "decodeURIComponent", "Global", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "decodeURIComponent" }, "sortText": "Z.decodeURIComponent", "additionalTextEdits": null, "filterText": null, "insertText": "decodeURIComponent", "kind": 12, "label": "decodeURIComponent" }, { "detail": "WriteStreamOptions", "documentation": { "kind": "markdown", "value": "\n*From: Node.FS.Stream*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultWriteStreamOptions", "Node.FS.Stream", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "defaultWriteStreamOptions" }, "sortText": "Z.defaultWriteStreamOptions", "additionalTextEdits": null, "filterText": null, "insertText": "defaultWriteStreamOptions", "kind": 12, "label": "defaultWriteStreamOptions" }, { "detail": "ReadStreamOptions", "documentation": { "kind": "markdown", "value": "\n*From: Node.FS.Stream*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultReadStreamOptions", "Node.FS.Stream", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "defaultReadStreamOptions" }, "sortText": "Z.defaultReadStreamOptions", "additionalTextEdits": null, "filterText": null, "insertText": "defaultReadStreamOptions", "kind": 12, "label": "defaultReadStreamOptions" }, { "detail": "FilePath → FilePath", "documentation": { "kind": "markdown", "value": "Return the directory name of a path.\n\n*From: Node.Path*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dirname", "Node.Path", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "dirname" }, "sortText": "Z.dirname", "additionalTextEdits": null, "filterText": null, "insertText": "dirname", "kind": 12, "label": "dirname" }, { "detail": "String", "documentation": { "kind": "markdown", "value": "The platform-specific path delimiter, `;` or `:`.\n\n*From: Node.Path*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "delimiter", "Node.Path", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "delimiter" }, "sortText": "Z.delimiter", "additionalTextEdits": null, "filterText": null, "insertText": "delimiter", "kind": 12, "label": "delimiter" }, { "detail": "∀ r. Stream r → Effect Unit", "documentation": { "kind": "markdown", "value": "Destroy the stream. It will release any internal resources.\n\n*From: Node.Stream*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "destroy", "Node.Stream", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "destroy" }, "sortText": "Z.destroy", "additionalTextEdits": null, "filterText": null, "insertText": "destroy", "kind": 12, "label": "destroy" }, { "detail": "∀ a m. Monad m ⇒ a → m Unit", "documentation": { "kind": "markdown", "value": "Discards a value\n\n*From: Pipes*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "discard", "Pipes", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "discard" }, "sortText": "Z.discard", "additionalTextEdits": null, "filterText": null, "insertText": "discard", "kind": 12, "label": "discard" }, { "detail": "∀ a m r. Monad m ⇒ Consumer_ a m r", "documentation": { "kind": "markdown", "value": "`discard` all incoming values\n\n*From: Pipes.Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drain", "Pipes.Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "drain" }, "sortText": "Z.drain", "additionalTextEdits": null, "filterText": null, "insertText": "drain", "kind": 12, "label": "drain" }, { "detail": "∀ a m r. Monad m ⇒ Int → Pipe a a m r", "documentation": { "kind": "markdown", "value": "drop discards n values going downstream\n\n*From: Pipes.Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drop", "Pipes.Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "drop" }, "sortText": "Z.drop", "additionalTextEdits": null, "filterText": null, "insertText": "drop", "kind": 12, "label": "drop" }, { "detail": "∀ a m r. Monad m ⇒ (a → Boolean) → Pipe a a m r", "documentation": { "kind": "markdown", "value": "dropWhile discards values going downstream until one violates the\n\n*From: Pipes.Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropWhile", "Pipes.Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "dropWhile" }, "sortText": "Z.dropWhile", "additionalTextEdits": null, "filterText": null, "insertText": "dropWhile", "kind": 12, "label": "dropWhile" }, { "detail": "∀ a. EuclideanRing a ⇒ a → Int", "documentation": { "kind": "markdown", "value": "\n*From: Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "degree", "Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "degree" }, "sortText": "Z.degree", "additionalTextEdits": null, "filterText": null, "insertText": "degree", "kind": 12, "label": "degree" }, { "detail": "∀ f b a. Discard a ⇒ Bind f ⇒ f a → (a → f b) → f b", "documentation": { "kind": "markdown", "value": "\n*From: Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "discard", "Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "discard" }, "sortText": "Z.discard", "additionalTextEdits": null, "filterText": null, "insertText": "discard", "kind": 12, "label": "discard" }, { "detail": "∀ a. HeytingAlgebra a ⇒ a → a → a", "documentation": { "kind": "markdown", "value": "\n*From: Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "disj", "Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "disj" }, "sortText": "Z.disj", "additionalTextEdits": null, "filterText": null, "insertText": "disj", "kind": 12, "label": "disj" }, { "detail": "∀ a. EuclideanRing a ⇒ a → a → a", "documentation": { "kind": "markdown", "value": "\n*From: Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "div", "Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "div" }, "sortText": "Z.div", "additionalTextEdits": null, "filterText": null, "insertText": "div", "kind": 12, "label": "div" }, { "detail": "∀ r1 r2 l a. IsSymbol l ⇒ Lacks l r1 ⇒ Cons l a r1 r2 ⇒ SProxy l → Record r2 → Record r1", "documentation": { "kind": "markdown", "value": "Delete a property for a label which is specified using a value-level proxy for\na type-level string.\n\nNote that the type of the resulting row must _lack_ the specified property.\nSince duplicate labels are allowed, this is checked with a type class constraint.\n\nFor example:\n\n```purescript\ndelete (SProxy :: SProxy \"x\")\n :: forall r a. Lacks \"x\" r => { x :: a | r } -> { | r }\n```\n\n*From: Record*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "delete", "Record", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "delete" }, "sortText": "Z.delete", "additionalTextEdits": null, "filterText": null, "insertText": "delete", "kind": 12, "label": "delete" }, { "detail": "∀ r1 r2 r3. Union r1 r2 r3 ⇒ Nub r3 r3 ⇒ Record r1 → Record r2 → Record r3", "documentation": { "kind": "markdown", "value": "Merges two records where no labels overlap. This restriction exhibits\nbetter inference than `merge` when the resulting record type is known,\nbut one argument is not.\n\nFor example, hole `?help` is inferred to have type `{ b :: Int }` here:\n\n```purescript\ndisjoinUnion { a: 5 } ?help :: { a :: Int, b :: Int }\n```\n\n*From: Record*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "disjointUnion", "Record", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "disjointUnion" }, "sortText": "Z.disjointUnion", "additionalTextEdits": null, "filterText": null, "insertText": "disjointUnion", "kind": 12, "label": "disjointUnion" }, { "detail": "∀ l a r1 r2. IsSymbol l ⇒ Lacks l r1 ⇒ Cons l a r1 r2 ⇒ SProxy l → Builder (Record r2) (Record r1)", "documentation": { "kind": "markdown", "value": "Build by deleting an existing field.\n\n*From: Record.Builder*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "delete", "Record.Builder", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "delete" }, "sortText": "Z.delete", "additionalTextEdits": null, "filterText": null, "insertText": "delete", "kind": 12, "label": "delete" }, { "detail": "∀ r1 r2 r3. Union r1 r2 r3 ⇒ Nub r3 r3 ⇒ Record r1 → Builder (Record r2) (Record r3)", "documentation": { "kind": "markdown", "value": "Build by merging some disjoint set of fields from another record.\n\n*From: Record.Builder*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "disjointUnion", "Record.Builder", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "disjointUnion" }, "sortText": "Z.disjointUnion", "additionalTextEdits": null, "filterText": null, "insertText": "disjointUnion", "kind": 12, "label": "disjointUnion" }, { "detail": "∀ m g i a. FocusWarning ⇒ Monad m ⇒ String → SpecT g i m a → SpecT g i m a", "documentation": { "kind": "markdown", "value": "Combine a group of specs into a described hierarchy and mark it as the\nonly group to actually be evaluated. (useful for quickly narrowing down\non a set)\n\n*From: Test.Spec*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "describeOnly", "Test.Spec", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "describeOnly" }, "sortText": "Z.describeOnly", "additionalTextEdits": null, "filterText": null, "insertText": "describeOnly", "kind": 12, "label": "describeOnly" }, { "detail": "∀ m g i a. Monad m ⇒ String → SpecT g i m a → SpecT g i m a", "documentation": { "kind": "markdown", "value": "Combine a group of specs into a described hierarchy.\n\n*From: Test.Spec*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "describe", "Test.Spec", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "describe" }, "sortText": "Z.describe", "additionalTextEdits": null, "filterText": null, "insertText": "describe", "kind": 12, "label": "describe" }, { "detail": "∀ m. MonadEffect m ⇒ String → m (Spec Unit)", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Discovery*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "discover", "Test.Spec.Discovery", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "discover" }, "sortText": "Z.discover", "additionalTextEdits": null, "filterText": null, "insertText": "discover", "kind": 12, "label": "discover" }, { "detail": "∀ s. s → (Event → StateT s (Writer String) Unit) → Reporter", "documentation": { "kind": "markdown", "value": "A default reporter implementation that can be used as a base to build\nother reporters on top of.\n\n*From: Test.Spec.Reporter*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultReporter", "Test.Spec.Reporter", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "defaultReporter" }, "sortText": "Z.defaultReporter", "additionalTextEdits": null, "filterText": null, "insertText": "defaultReporter", "kind": 12, "label": "defaultReporter" }, { "detail": "∀ m. MonadWriter String m ⇒ Array (Tree Void Result) → m Unit", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Reporter*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultSummary", "Test.Spec.Reporter", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "defaultSummary" }, "sortText": "Z.defaultSummary", "additionalTextEdits": null, "filterText": null, "insertText": "defaultSummary", "kind": 12, "label": "defaultSummary" }, { "detail": "∀ s. { getRunningItems ∷ s -> Map Path RunningItem , printFinishedItem ∷ Path -> RunningItem -> StateT s (Writer String) Unit , putRunningItems ∷ Map Path RunningItem -> s -> s , update ∷ Event -> StateT s (Writer String) Unit } → (Event → StateT s (Writer String) Unit)", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Reporter*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultUpdate", "Test.Spec.Reporter", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "defaultUpdate" }, "sortText": "Z.defaultUpdate", "additionalTextEdits": null, "filterText": null, "insertText": "defaultUpdate", "kind": 3, "label": "defaultUpdate" }, { "detail": "DotReporterConfig → Reporter", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Reporter*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dotReporter", "Test.Spec.Reporter", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "dotReporter" }, "sortText": "Z.dotReporter", "additionalTextEdits": null, "filterText": null, "insertText": "dotReporter", "kind": 12, "label": "dotReporter" }, { "detail": "∀ m. MonadWriter String m ⇒ Array (Tree Void Result) → m Unit", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Reporter.Base*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultSummary", "Test.Spec.Reporter.Base", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "defaultSummary" }, "sortText": "Z.defaultSummary", "additionalTextEdits": null, "filterText": null, "insertText": "defaultSummary", "kind": 12, "label": "defaultSummary" }, { "detail": "∀ s. s → (Event → StateT s (Writer String) Unit) → Reporter", "documentation": { "kind": "markdown", "value": "A default reporter implementation that can be used as a base to build\nother reporters on top of.\n\n*From: Test.Spec.Reporter.Base*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultReporter", "Test.Spec.Reporter.Base", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "defaultReporter" }, "sortText": "Z.defaultReporter", "additionalTextEdits": null, "filterText": null, "insertText": "defaultReporter", "kind": 12, "label": "defaultReporter" }, { "detail": "∀ s. { getRunningItems ∷ s -> Map Path RunningItem , printFinishedItem ∷ Path -> RunningItem -> StateT s (Writer String) Unit , putRunningItems ∷ Map Path RunningItem -> s -> s , update ∷ Event -> StateT s (Writer String) Unit } → (Event → StateT s (Writer String) Unit)", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Reporter.Base*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultUpdate", "Test.Spec.Reporter.Base", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "defaultUpdate" }, "sortText": "Z.defaultUpdate", "additionalTextEdits": null, "filterText": null, "insertText": "defaultUpdate", "kind": 3, "label": "defaultUpdate" }, { "detail": "DotReporterConfig → Reporter", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Reporter.Dot*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dotReporter", "Test.Spec.Reporter.Dot", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "dotReporter" }, "sortText": "Z.dotReporter", "additionalTextEdits": null, "filterText": null, "insertText": "dotReporter", "kind": 12, "label": "dotReporter" }, { "detail": "Config", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Runner*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultConfig", "Test.Spec.Runner", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "defaultConfig" }, "sortText": "Z.defaultConfig", "additionalTextEdits": null, "filterText": null, "insertText": "defaultConfig", "kind": 12, "label": "defaultConfig" }, { "detail": "Style", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Style*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dim", "Test.Spec.Style", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "dim" }, "sortText": "Z.dim", "additionalTextEdits": null, "filterText": null, "insertText": "dim", "kind": 12, "label": "dim" }, { "detail": "∀ c m a. Array (Tree c (Item m a)) → Array (Tree c (Item m a))", "documentation": { "kind": "markdown", "value": "If there is at least one focused element, all paths which don't\nlead to a focused element will be remove. otherwise input will\nbe returned as unchanged.\n\n*From: Test.Spec.Tree*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "discardUnfocused", "Test.Spec.Tree", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "discardUnfocused" }, "sortText": "Z.discardUnfocused", "additionalTextEdits": null, "filterText": null, "insertText": "discardUnfocused", "kind": 12, "label": "discardUnfocused" }, { "detail": "∀ a. Ring a ⇒ a → a", "documentation": { "kind": "markdown", "value": "Subtracts one from input\n\n*From: Utils.Math*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dec", "Utils.Math", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "dec" }, "sortText": "Z.dec", "additionalTextEdits": null, "filterText": null, "insertText": "dec", "kind": 12, "label": "dec" }, { "detail": "∀ a. EuclideanRing a ⇒ Eq a ⇒ a → a → Boolean", "documentation": { "kind": "markdown", "value": "Checks if a number is divisible by another number\n```purescript\n> 10 `divisibleBy` 2\ntrue\n\n> 10 `divisibleBy` 3\nfalse\n```\n\n*From: Utils.Math*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "divisibleBy", "Utils.Math", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "divisibleBy" }, "sortText": "Z.divisibleBy", "additionalTextEdits": null, "filterText": null, "insertText": "divisibleBy", "kind": 12, "label": "divisibleBy" } ], "isIncomplete": false } [Trace - 4:16:40 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 42 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec)\n\nspec :: Spec Unit\nspec = describe \n" } ] } [Trace - 4:16:41 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 43 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec)\n\nspec :: Spec Unit\nspec = describe \"\n" } ] } [Trace - 4:16:41 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 44 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec)\n\nspec :: Spec Unit\nspec = describe \"P\n" } ] } [Trace - 4:16:41 PM] Sending request 'textDocument/completion - (25)'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" }, "position": { "line": 7, "character": 18 }, "context": { "triggerKind": 1 } } [Trace - 4:16:41 PM] Received notification 'window/logMessage'. Params: { "type": 3, "message": "[Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead\n" } [Info - 4:16:41 PM] [Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead [Trace - 4:16:41 PM] Received response 'textDocument/completion - (25)' in 20ms. Result: { "items": [ { "detail": "Int → EscapeCode", "documentation": { "kind": "markdown", "value": "\n*From: Ansi.Codes*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "PreviousLine", "Ansi.Codes", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "PreviousLine" }, "sortText": "Z.PreviousLine", "additionalTextEdits": null, "filterText": null, "insertText": "PreviousLine", "kind": 7, "label": "PreviousLine" }, { "detail": "Int → Int → EscapeCode", "documentation": { "kind": "markdown", "value": "\n*From: Ansi.Codes*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Position", "Ansi.Codes", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "Position" }, "sortText": "Z.Position", "additionalTextEdits": null, "filterText": null, "insertText": "Position", "kind": 7, "label": "Position" }, { "detail": "RenderingMode → GraphicsParam", "documentation": { "kind": "markdown", "value": "\n*From: Ansi.Codes*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "PMode", "Ansi.Codes", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "PMode" }, "sortText": "Z.PMode", "additionalTextEdits": null, "filterText": null, "insertText": "PMode", "kind": 7, "label": "PMode" }, { "detail": "Color → GraphicsParam", "documentation": { "kind": "markdown", "value": "\n*From: Ansi.Codes*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "PForeground", "Ansi.Codes", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "PForeground" }, "sortText": "Z.PForeground", "additionalTextEdits": null, "filterText": null, "insertText": "PForeground", "kind": 7, "label": "PForeground" }, { "detail": "Color → GraphicsParam", "documentation": { "kind": "markdown", "value": "\n*From: Ansi.Codes*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "PBackground", "Ansi.Codes", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "PBackground" }, "sortText": "Z.PBackground", "additionalTextEdits": null, "filterText": null, "insertText": "PBackground", "kind": 7, "label": "PBackground" }, { "detail": "(Type -> Type) -> Type", "documentation": { "kind": "markdown", "value": "\n*From: Control.Alternative*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Plus", "Control.Alternative", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "Plus" }, "sortText": "Z.Plus", "additionalTextEdits": null, "filterText": null, "insertText": "Plus", "kind": 3, "label": "Plus" }, { "detail": "(Type -> Type) -> Type", "documentation": { "kind": "markdown", "value": "\n*From: Control.MonadPlus*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Plus", "Control.MonadPlus", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "Plus" }, "sortText": "Z.Plus", "additionalTextEdits": null, "filterText": null, "insertText": "Plus", "kind": 3, "label": "Plus" }, { "detail": "(Type -> Type) -> Type", "documentation": { "kind": "markdown", "value": "\n*From: Control.MonadZero*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Plus", "Control.MonadZero", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "Plus" }, "sortText": "Z.Plus", "additionalTextEdits": null, "filterText": null, "insertText": "Plus", "kind": 3, "label": "Plus" }, { "detail": "(Type -> Type) -> Type -> Type", "documentation": { "kind": "markdown", "value": "The `ParCont` type constructor provides an `Applicative` instance\nbased on `ContT Unit m`, which waits for multiple continuations to be\nresumed simultaneously.\n\nParCont sections of code can be embedded in sequential code by using\nthe `parallel` and `sequential` functions:\n\n```purescript\nloadModel :: ContT Unit (Eff (ajax :: AJAX)) Model\nloadModel = do\n token <- authenticate\n sequential $\n Model <$> parallel (get \"/products/popular/\" token)\n <*> parallel (get \"/categories/all\" token)\n```\n\n*From: Control.Parallel*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "ParCont", "Control.Parallel", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "ParCont" }, "sortText": "Z.ParCont", "additionalTextEdits": null, "filterText": null, "insertText": "ParCont", "kind": 3, "label": "ParCont" }, { "detail": "∀ m a. ContT Unit m a → ParCont m a", "documentation": { "kind": "markdown", "value": "\n*From: Control.Parallel*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "ParCont", "Control.Parallel", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "ParCont" }, "sortText": "Z.ParCont", "additionalTextEdits": null, "filterText": null, "insertText": "ParCont", "kind": 7, "label": "ParCont" }, { "detail": "(Type -> Type) -> (Type -> Type) -> Type", "documentation": { "kind": "markdown", "value": "\n*From: Control.Parallel*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Parallel", "Control.Parallel", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "Parallel" }, "sortText": "Z.Parallel", "additionalTextEdits": null, "filterText": null, "insertText": "Parallel", "kind": 3, "label": "Parallel" }, { "detail": "(Type -> Type) -> (Type -> Type) -> Type", "documentation": { "kind": "markdown", "value": "\n*From: Control.Parallel.Class*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Parallel", "Control.Parallel.Class", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "Parallel" }, "sortText": "Z.Parallel", "additionalTextEdits": null, "filterText": null, "insertText": "Parallel", "kind": 3, "label": "Parallel" }, { "detail": "(Type -> Type) -> Type -> Type", "documentation": { "kind": "markdown", "value": "The `ParCont` type constructor provides an `Applicative` instance\nbased on `ContT Unit m`, which waits for multiple continuations to be\nresumed simultaneously.\n\nParCont sections of code can be embedded in sequential code by using\nthe `parallel` and `sequential` functions:\n\n```purescript\nloadModel :: ContT Unit (Eff (ajax :: AJAX)) Model\nloadModel = do\n token <- authenticate\n sequential $\n Model <$> parallel (get \"/products/popular/\" token)\n <*> parallel (get \"/categories/all\" token)\n```\n\n*From: Control.Parallel.Class*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "ParCont", "Control.Parallel.Class", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "ParCont" }, "sortText": "Z.ParCont", "additionalTextEdits": null, "filterText": null, "insertText": "ParCont", "kind": 3, "label": "ParCont" }, { "detail": "∀ m a. ContT Unit m a → ParCont m a", "documentation": { "kind": "markdown", "value": "\n*From: Control.Parallel.Class*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "ParCont", "Control.Parallel.Class", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "ParCont" }, "sortText": "Z.ParCont", "additionalTextEdits": null, "filterText": null, "insertText": "ParCont", "kind": 7, "label": "ParCont" }, { "detail": "(Type -> Type) -> Type", "documentation": { "kind": "markdown", "value": "\n*From: Control.Plus*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Plus", "Control.Plus", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "Plus" }, "sortText": "Z.Plus", "additionalTextEdits": null, "filterText": null, "insertText": "Plus", "kind": 3, "label": "Plus" }, { "detail": "(Type -> Type -> Type) -> (Type -> Type -> Type) -> Type -> Type -> Type", "documentation": { "kind": "markdown", "value": "The product of two `Bifunctor`s.\n\n*From: Data.Bifunctor.Product*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Product", "Data.Bifunctor.Product", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "Product" }, "sortText": "Z.Product", "additionalTextEdits": null, "filterText": null, "insertText": "Product", "kind": 3, "label": "Product" }, { "detail": "∀ f g a b. f a b → g a b → Product f g a b", "documentation": { "kind": "markdown", "value": "\n*From: Data.Bifunctor.Product*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Product", "Data.Bifunctor.Product", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "Product" }, "sortText": "Z.Product", "additionalTextEdits": null, "filterText": null, "insertText": "Product", "kind": 7, "label": "Product" }, { "detail": "(Type -> Type) -> (Type -> Type) -> Type -> Type", "documentation": { "kind": "markdown", "value": "`Product f g` is the product of the two functors `f` and `g`.\n\n*From: Data.Functor.Product*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Product", "Data.Functor.Product", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "Product" }, "sortText": "Z.Product", "additionalTextEdits": null, "filterText": null, "insertText": "Product", "kind": 3, "label": "Product" }, { "detail": "∀ f g a. Tuple (f a) (g a) → Product f g a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Product*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Product", "Data.Functor.Product", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "Product" }, "sortText": "Z.Product", "additionalTextEdits": null, "filterText": null, "insertText": "Product", "kind": 7, "label": "Product" }, { "detail": "T2 a (Const Unit)", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Product.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Product1", "Data.Functor.Product.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "Product1" }, "sortText": "Z.Product1", "additionalTextEdits": null, "filterText": null, "insertText": "Product1", "kind": 7, "label": "Product1" }, { "detail": "T3 a b (Const Unit)", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Product.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Product2", "Data.Functor.Product.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "Product2" }, "sortText": "Z.Product2", "additionalTextEdits": null, "filterText": null, "insertText": "Product2", "kind": 7, "label": "Product2" }, { "detail": "T4 a b c (Const Unit)", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Product.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Product3", "Data.Functor.Product.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "Product3" }, "sortText": "Z.Product3", "additionalTextEdits": null, "filterText": null, "insertText": "Product3", "kind": 7, "label": "Product3" }, { "detail": "T5 a b c d (Const Unit)", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Product.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Product4", "Data.Functor.Product.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "Product4" }, "sortText": "Z.Product4", "additionalTextEdits": null, "filterText": null, "insertText": "Product4", "kind": 7, "label": "Product4" }, { "detail": "T6 a b c d e (Const Unit)", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Product.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Product5", "Data.Functor.Product.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "Product5" }, "sortText": "Z.Product5", "additionalTextEdits": null, "filterText": null, "insertText": "Product5", "kind": 7, "label": "Product5" }, { "detail": "T7 a b c d e f (Const Unit)", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Product.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Product6", "Data.Functor.Product.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "Product6" }, "sortText": "Z.Product6", "additionalTextEdits": null, "filterText": null, "insertText": "Product6", "kind": 7, "label": "Product6" }, { "detail": "T8 a b c d e f g (Const Unit)", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Product.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Product7", "Data.Functor.Product.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "Product7" }, "sortText": "Z.Product7", "additionalTextEdits": null, "filterText": null, "insertText": "Product7", "kind": 7, "label": "Product7" }, { "detail": "T9 a b c d e f g h (Const Unit)", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Product.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Product8", "Data.Functor.Product.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "Product8" }, "sortText": "Z.Product8", "additionalTextEdits": null, "filterText": null, "insertText": "Product8", "kind": 7, "label": "Product8" }, { "detail": "T10 a b c d e f g h i (Const Unit)", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Product.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Product9", "Data.Functor.Product.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "Product9" }, "sortText": "Z.Product9", "additionalTextEdits": null, "filterText": null, "insertText": "Product9", "kind": 7, "label": "Product9" }, { "detail": "T11 a b c d e f g h i j (Const Unit)", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Product.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Product10", "Data.Functor.Product.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "Product10" }, "sortText": "Z.Product10", "additionalTextEdits": null, "filterText": null, "insertText": "Product10", "kind": 7, "label": "Product10" }, { "detail": "Type -> Type -> Type", "documentation": { "kind": "markdown", "value": "A representation for constructors with multiple fields.\n\n*From: Data.Generic.Rep*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Product", "Data.Generic.Rep", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "Product" }, "sortText": "Z.Product", "additionalTextEdits": null, "filterText": null, "insertText": "Product", "kind": 3, "label": "Product" }, { "detail": "∀ a b. a → b → Product a b", "documentation": { "kind": "markdown", "value": "\n*From: Data.Generic.Rep*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Product", "Data.Generic.Rep", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "Product" }, "sortText": "Z.Product", "additionalTextEdits": null, "filterText": null, "insertText": "Product", "kind": 7, "label": "Product" }, { "detail": "Type", "documentation": { "kind": "markdown", "value": "A type for describing whether an integer is even or odd.\n\nThe `Ord` instance considers `Even` to be less than `Odd`.\n\nThe `Semiring` instance allows you to ask about the parity of the results\nof arithmetical operations, given only the parities of the inputs. For\nexample, the sum of an odd number and an even number is odd, so\n`Odd + Even == Odd`. This also works for multiplication, eg. the product\nof two odd numbers is odd, and therefore `Odd * Odd == Odd`.\n\nMore generally, we have that\n\n```purescript\nparity x + parity y == parity (x + y)\nparity x * parity y == parity (x * y)\n```\n\nfor any integers `x`, `y`. (A mathematician would say that `parity` is a\n*ring homomorphism*.)\n\nAfter defining addition and multiplication on `Parity` in this way, the\n`Semiring` laws now force us to choose `zero = Even` and `one = Odd`.\nThis `Semiring` instance actually turns out to be a `Field`.\n\n*From: Data.Int*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Parity", "Data.Int", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "Parity" }, "sortText": "Z.Parity", "additionalTextEdits": null, "filterText": null, "insertText": "Parity", "kind": 7, "label": "Parity" }, { "detail": "Type -> Type", "documentation": { "kind": "markdown", "value": "A newtype used in cases where there is a list to be matched.\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Pattern", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "Pattern" }, "sortText": "Z.Pattern", "additionalTextEdits": null, "filterText": null, "insertText": "Pattern", "kind": 3, "label": "Pattern" }, { "detail": "∀ a. List a → Pattern a", "documentation": { "kind": "markdown", "value": "\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Pattern", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "Pattern" }, "sortText": "Z.Pattern", "additionalTextEdits": null, "filterText": null, "insertText": "Pattern", "kind": 7, "label": "Pattern" }, { "detail": "Type -> Type", "documentation": { "kind": "markdown", "value": "A newtype used in cases where there is a list to be matched.\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Pattern", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "Pattern" }, "sortText": "Z.Pattern", "additionalTextEdits": null, "filterText": null, "insertText": "Pattern", "kind": 3, "label": "Pattern" }, { "detail": "∀ a. List a → Pattern a", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Pattern", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "Pattern" }, "sortText": "Z.Pattern", "additionalTextEdits": null, "filterText": null, "insertText": "Pattern", "kind": 7, "label": "Pattern" }, { "detail": "Type -> Type", "documentation": { "kind": "markdown", "value": "An adaptor allowing `>$<` to map over the inputs of a predicate.\n\n*From: Data.Predicate*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Predicate", "Data.Predicate", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "Predicate" }, "sortText": "Z.Predicate", "additionalTextEdits": null, "filterText": null, "insertText": "Predicate", "kind": 3, "label": "Predicate" }, { "detail": "∀ a. (a → Boolean) → Predicate a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Predicate*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Predicate", "Data.Predicate", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "Predicate" }, "sortText": "Z.Predicate", "additionalTextEdits": null, "filterText": null, "insertText": "Predicate", "kind": 7, "label": "Predicate" }, { "detail": "Type", "documentation": { "kind": "markdown", "value": "A newtype used in cases where there is a string to be matched.\n\n```purescript\npursPattern = Pattern \".purs\"\n--can be used like this:\ncontains pursPattern \"Test.purs\"\n == true\n```\n\n\n*From: Data.String*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Pattern", "Data.String", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "Pattern" }, "sortText": "Z.Pattern", "additionalTextEdits": null, "filterText": null, "insertText": "Pattern", "kind": 7, "label": "Pattern" }, { "detail": "String → Pattern", "documentation": { "kind": "markdown", "value": "\n*From: Data.String*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Pattern", "Data.String", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "Pattern" }, "sortText": "Z.Pattern", "additionalTextEdits": null, "filterText": null, "insertText": "Pattern", "kind": 7, "label": "Pattern" }, { "detail": "Type", "documentation": { "kind": "markdown", "value": "A newtype used in cases where there is a string to be matched.\n\n```purescript\npursPattern = Pattern \".purs\"\n--can be used like this:\ncontains pursPattern \"Test.purs\"\n == true\n```\n\n\n*From: Data.String.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Pattern", "Data.String.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "Pattern" }, "sortText": "Z.Pattern", "additionalTextEdits": null, "filterText": null, "insertText": "Pattern", "kind": 7, "label": "Pattern" }, { "detail": "String → Pattern", "documentation": { "kind": "markdown", "value": "\n*From: Data.String.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Pattern", "Data.String.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "Pattern" }, "sortText": "Z.Pattern", "additionalTextEdits": null, "filterText": null, "insertText": "Pattern", "kind": 7, "label": "Pattern" }, { "detail": "Type", "documentation": { "kind": "markdown", "value": "A newtype used in cases where there is a string to be matched.\n\n```purescript\npursPattern = Pattern \".purs\"\n--can be used like this:\ncontains pursPattern \"Test.purs\"\n == true\n```\n\n\n*From: Data.String.Pattern*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Pattern", "Data.String.Pattern", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "Pattern" }, "sortText": "Z.Pattern", "additionalTextEdits": null, "filterText": null, "insertText": "Pattern", "kind": 7, "label": "Pattern" }, { "detail": "String → Pattern", "documentation": { "kind": "markdown", "value": "\n*From: Data.String.Pattern*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Pattern", "Data.String.Pattern", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "Pattern" }, "sortText": "Z.Pattern", "additionalTextEdits": null, "filterText": null, "insertText": "Pattern", "kind": 7, "label": "Pattern" }, { "detail": "Type -> Type", "documentation": { "kind": "markdown", "value": "Applicative for running parallel effects. Any `Aff` can be coerced to a\n`ParAff` and back using the `Parallel` class.\n\n*From: Effect.Aff*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "ParAff", "Effect.Aff", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "ParAff" }, "sortText": "Z.ParAff", "additionalTextEdits": null, "filterText": null, "insertText": "ParAff", "kind": 3, "label": "ParAff" }, { "detail": "Type", "documentation": { "kind": "markdown", "value": "A `Perm` value specifies what is allowed to be done with a particular\nfile by a particular class of user — that is, whether it is\nreadable, writable, and/or executable. It has a `Semiring` instance, which\nallows you to combine permissions:\n\n- `(+)` adds `Perm` values together. For example, `read + write` means\n \"readable and writable\".\n- `(*)` masks permissions. It can be thought of as selecting only the\n permissions that two `Perm` values have in common. For example:\n `(read + write) * (write + execute) == write`.\n\nYou can think also of a `Perm` value as a subset of the set\n`{ read, write, execute }`; then, `(+)` and `(*)` represent set union and\nintersection respectively.\n\n*From: Node.FS.Perms*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Perm", "Node.FS.Perms", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "Perm" }, "sortText": "Z.Perm", "additionalTextEdits": null, "filterText": null, "insertText": "Perm", "kind": 7, "label": "Perm" }, { "detail": "Type", "documentation": { "kind": "markdown", "value": "A `Perms` value includes all the permissions information about a\nparticular file or directory, by storing a `Perm` value for each of the\nfile owner, the group, and any other users.\n\n*From: Node.FS.Perms*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Perms", "Node.FS.Perms", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "Perms" }, "sortText": "Z.Perms", "additionalTextEdits": null, "filterText": null, "insertText": "Perms", "kind": 7, "label": "Perms" }, { "detail": "module", "documentation": { "kind": "markdown", "value": "This module provides support for the\nPureScript interactive mode, PSCI.\n\n*From: PSCI.Support*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "PSCI.Support", "PSCI.Support", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "PSCI.Support" }, "sortText": "Z.PSCI.Support", "additionalTextEdits": null, "filterText": null, "insertText": "PSCI.Support", "kind": 7, "label": "PSCI.Support" }, { "detail": "module", "documentation": { "kind": "markdown", "value": "Some partial helper functions. See the README for more documentation.\n\n*From: Partial*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Partial", "Partial", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "Partial" }, "sortText": "Z.Partial", "additionalTextEdits": null, "filterText": null, "insertText": "Partial", "kind": 7, "label": "Partial" }, { "detail": "module", "documentation": { "kind": "markdown", "value": "Utilities for working with partial functions.\nSee the README for more documentation.\n\n*From: Partial.Unsafe*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Partial.Unsafe", "Partial.Unsafe", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "Partial.Unsafe" }, "sortText": "Z.Partial.Unsafe", "additionalTextEdits": null, "filterText": null, "insertText": "Partial.Unsafe", "kind": 7, "label": "Partial.Unsafe" }, { "detail": "module", "documentation": { "kind": "markdown", "value": "\n*From: Pipes*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Pipes", "Pipes", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "Pipes" }, "sortText": "Z.Pipes", "additionalTextEdits": null, "filterText": null, "insertText": "Pipes", "kind": 7, "label": "Pipes" }, { "detail": "module", "documentation": { "kind": "markdown", "value": "\n*From: Pipes.Core*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Pipes.Core", "Pipes.Core", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "Pipes.Core" }, "sortText": "Z.Pipes.Core", "additionalTextEdits": null, "filterText": null, "insertText": "Pipes.Core", "kind": 7, "label": "Pipes.Core" }, { "detail": "Proxy X Unit Unit b", "documentation": { "kind": "markdown", "value": "\n*From: Pipes.Core*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Producer", "Pipes.Core", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "Producer" }, "sortText": "Z.Producer", "additionalTextEdits": null, "filterText": null, "insertText": "Producer", "kind": 7, "label": "Producer" }, { "detail": "Proxy Unit a Unit b", "documentation": { "kind": "markdown", "value": "\n*From: Pipes.Core*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Pipe", "Pipes.Core", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "Pipe" }, "sortText": "Z.Pipe", "additionalTextEdits": null, "filterText": null, "insertText": "Pipe", "kind": 7, "label": "Pipe" }, { "detail": "∀ x' x. Proxy x' x Unit b m r", "documentation": { "kind": "markdown", "value": "\n*From: Pipes.Core*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Producer_", "Pipes.Core", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "Producer_" }, "sortText": "Z.Producer_", "additionalTextEdits": null, "filterText": null, "insertText": "Producer_", "kind": 7, "label": "Producer_" }, { "detail": "Type -> Type -> Type -> Type -> (Type -> Type) -> Type -> Type", "documentation": { "kind": "markdown", "value": "\n*From: Pipes.Core*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Proxy", "Pipes.Core", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "Proxy" }, "sortText": "Z.Proxy", "additionalTextEdits": null, "filterText": null, "insertText": "Proxy", "kind": 3, "label": "Proxy" }, { "detail": "module", "documentation": { "kind": "markdown", "value": "\n*From: Pipes.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Pipes.Internal", "Pipes.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "Pipes.Internal" }, "sortText": "Z.Pipes.Internal", "additionalTextEdits": null, "filterText": null, "insertText": "Pipes.Internal", "kind": 7, "label": "Pipes.Internal" }, { "detail": "Type -> Type -> Type -> Type -> (Type -> Type) -> Type -> Type", "documentation": { "kind": "markdown", "value": "\n*From: Pipes.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Proxy", "Pipes.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "Proxy" }, "sortText": "Z.Proxy", "additionalTextEdits": null, "filterText": null, "insertText": "Proxy", "kind": 3, "label": "Proxy" }, { "detail": "∀ a' a b' b m r. r → Proxy a' a b' b m r", "documentation": { "kind": "markdown", "value": "\n*From: Pipes.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Pure", "Pipes.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "Pure" }, "sortText": "Z.Pure", "additionalTextEdits": null, "filterText": null, "insertText": "Pure", "kind": 7, "label": "Pure" }, { "detail": "module", "documentation": { "kind": "markdown", "value": "\n*From: Pipes.ListT*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Pipes.ListT", "Pipes.ListT", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "Pipes.ListT" }, "sortText": "Z.Pipes.ListT", "additionalTextEdits": null, "filterText": null, "insertText": "Pipes.ListT", "kind": 7, "label": "Pipes.ListT" }, { "detail": "module", "documentation": { "kind": "markdown", "value": "\n*From: Pipes.Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Pipes.Prelude", "Pipes.Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "Pipes.Prelude" }, "sortText": "Z.Pipes.Prelude", "additionalTextEdits": null, "filterText": null, "insertText": "Pipes.Prelude", "kind": 7, "label": "Pipes.Prelude" }, { "detail": "module", "documentation": { "kind": "markdown", "value": "\n*From: Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Prelude", "Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "Prelude" }, "sortText": "Z.Prelude", "additionalTextEdits": null, "filterText": null, "insertText": "Prelude", "kind": 7, "label": "Prelude" }, { "detail": "Type", "documentation": { "kind": "markdown", "value": "\n*From: Prim*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Partial", "Prim", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "Partial" }, "sortText": "Z.Partial", "additionalTextEdits": null, "filterText": null, "insertText": "Partial", "kind": 7, "label": "Partial" }, { "detail": "module", "documentation": { "kind": "markdown", "value": "\n*From: Problem1*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Problem1", "Problem1", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "Problem1" }, "sortText": "Z.Problem1", "additionalTextEdits": null, "filterText": null, "insertText": "Problem1", "kind": 7, "label": "Problem1" }, { "detail": "module", "documentation": { "kind": "markdown", "value": "\n*From: Problem10*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Problem10", "Problem10", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "Problem10" }, "sortText": "Z.Problem10", "additionalTextEdits": null, "filterText": null, "insertText": "Problem10", "kind": 7, "label": "Problem10" }, { "detail": "module", "documentation": { "kind": "markdown", "value": "\n*From: Problem11*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Problem11", "Problem11", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "Problem11" }, "sortText": "Z.Problem11", "additionalTextEdits": null, "filterText": null, "insertText": "Problem11", "kind": 7, "label": "Problem11" }, { "detail": "module", "documentation": { "kind": "markdown", "value": "\n*From: Problem2*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Problem2", "Problem2", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "Problem2" }, "sortText": "Z.Problem2", "additionalTextEdits": null, "filterText": null, "insertText": "Problem2", "kind": 7, "label": "Problem2" }, { "detail": "module", "documentation": { "kind": "markdown", "value": "\n*From: Problem3*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Problem3", "Problem3", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "Problem3" }, "sortText": "Z.Problem3", "additionalTextEdits": null, "filterText": null, "insertText": "Problem3", "kind": 7, "label": "Problem3" }, { "detail": "module", "documentation": { "kind": "markdown", "value": "\n*From: Problem4*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Problem4", "Problem4", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "Problem4" }, "sortText": "Z.Problem4", "additionalTextEdits": null, "filterText": null, "insertText": "Problem4", "kind": 7, "label": "Problem4" }, { "detail": "module", "documentation": { "kind": "markdown", "value": "\n*From: Problem5*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Problem5", "Problem5", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "Problem5" }, "sortText": "Z.Problem5", "additionalTextEdits": null, "filterText": null, "insertText": "Problem5", "kind": 7, "label": "Problem5" }, { "detail": "module", "documentation": { "kind": "markdown", "value": "\n*From: Problem6*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Problem6", "Problem6", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "Problem6" }, "sortText": "Z.Problem6", "additionalTextEdits": null, "filterText": null, "insertText": "Problem6", "kind": 7, "label": "Problem6" }, { "detail": "module", "documentation": { "kind": "markdown", "value": "\n*From: Problem7*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Problem7", "Problem7", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "Problem7" }, "sortText": "Z.Problem7", "additionalTextEdits": null, "filterText": null, "insertText": "Problem7", "kind": 7, "label": "Problem7" }, { "detail": "module", "documentation": { "kind": "markdown", "value": "\n*From: Problem8*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Problem8", "Problem8", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "Problem8" }, "sortText": "Z.Problem8", "additionalTextEdits": null, "filterText": null, "insertText": "Problem8", "kind": 7, "label": "Problem8" }, { "detail": "module", "documentation": { "kind": "markdown", "value": "\n*From: Problem9*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Problem9", "Problem9", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "Problem9" }, "sortText": "Z.Problem9", "additionalTextEdits": null, "filterText": null, "insertText": "Problem9", "kind": 7, "label": "Problem9" }, { "detail": "module", "documentation": { "kind": "markdown", "value": "\n*From: Problems*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Problems", "Problems", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "Problems" }, "sortText": "Z.Problems", "additionalTextEdits": null, "filterText": null, "insertText": "Problems", "kind": 7, "label": "Problems" }, { "detail": "Execution", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Runner.Event*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Parallel", "Test.Spec.Runner.Event", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "Parallel" }, "sortText": "Z.Parallel", "additionalTextEdits": null, "filterText": null, "insertText": "Parallel", "kind": 7, "label": "Parallel" }, { "detail": "Path → Name → Event", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Runner.Event*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Pending", "Test.Spec.Runner.Event", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "Pending" }, "sortText": "Z.Pending", "additionalTextEdits": null, "filterText": null, "insertText": "Pending", "kind": 7, "label": "Pending" }, { "detail": "Array PathItem", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Tree*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Path", "Test.Spec.Tree", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "Path" }, "sortText": "Z.Path", "additionalTextEdits": null, "filterText": null, "insertText": "Path", "kind": 7, "label": "Path" }, { "detail": "Type", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Tree*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "PathItem", "Test.Spec.Tree", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "PathItem" }, "sortText": "Z.PathItem", "additionalTextEdits": null, "filterText": null, "insertText": "PathItem", "kind": 7, "label": "PathItem" }, { "detail": "{ index ∷ Int , name ∷ Maybe String } → PathItem", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Tree*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "PathItem", "Test.Spec.Tree", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 18 } }, "newText": "PathItem" }, "sortText": "Z.PathItem", "additionalTextEdits": null, "filterText": null, "insertText": "PathItem", "kind": 7, "label": "PathItem" } ], "isIncomplete": false } [Trace - 4:16:42 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 45 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec)\n\nspec :: Spec Unit\nspec = describe \"Problem 1\n" } ] } [Trace - 4:16:42 PM] Sending request 'textDocument/completion - (26)'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" }, "position": { "line": 7, "character": 26 }, "context": { "triggerKind": 1 } } [Trace - 4:16:42 PM] Received notification 'window/logMessage'. Params: { "type": 3, "message": "[Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead\n" } [Info - 4:16:42 PM] [Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead [Trace - 4:16:42 PM] Received response 'textDocument/completion - (26)' in 7ms. Result: { "items": [], "isIncomplete": false } [Trace - 4:16:43 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 46 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec)\n\nspec :: Spec Unit\nspec = describe \"Problem\n" } ] } [Trace - 4:16:43 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 47 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec)\n\nspec :: Spec Unit\nspec = describe \"Problems\n" } ] } [Trace - 4:16:44 PM] Sending request 'textDocument/completion - (27)'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" }, "position": { "line": 7, "character": 25 }, "context": { "triggerKind": 1 } } [Trace - 4:16:44 PM] Received notification 'window/logMessage'. Params: { "type": 3, "message": "[Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead\n" } [Info - 4:16:44 PM] [Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead [Trace - 4:16:44 PM] Received response 'textDocument/completion - (27)' in 10ms. Result: { "items": [ { "detail": "module", "documentation": { "kind": "markdown", "value": "\n*From: Problems*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Problems", "Problems", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 7 }, "end": { "line": 7, "character": 25 } }, "newText": "Problems" }, "sortText": "Z.Problems", "additionalTextEdits": null, "filterText": null, "insertText": "Problems", "kind": 7, "label": "Problems" } ], "isIncomplete": false } [Trace - 4:16:44 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 48 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec)\n\nspec :: Spec Unit\nspec = describe \"Problems\"\n" } ] } [Trace - 4:16:44 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 49 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec)\n\nspec :: Spec Unit\nspec = describe \"Problems\" w\n" } ] } [Trace - 4:16:44 PM] Sending request 'textDocument/completion - (28)'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" }, "position": { "line": 7, "character": 28 }, "context": { "triggerKind": 1 } } [Trace - 4:16:44 PM] Received notification 'window/logMessage'. Params: { "type": 3, "message": "[Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead\n" } [Info - 4:16:44 PM] [Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead [Trace - 4:16:44 PM] Received response 'textDocument/completion - (28)' in 23ms. Result: { "items": [ { "detail": "NonEmptyList GraphicsParam → String → String", "documentation": { "kind": "markdown", "value": "Wrap the given text in escape codes corresponding to the given parameters.\nFor example:\n\n```purescript\nConsole.log $ withGraphics (bold <> underline <> foreground BrightRed) \"hello world\"\n```\n\nwould print \"hello world\" to the terminal, bold, underlined, and in bright\nred, and then reset (so that further logging to the console uses the\nnormal color and style).\n\nThis function simply wraps the given text in an escape code and a reset\ncode, so that it is a little more comfortable to use than the functions\nin `Ansi.Codes`.\n\n*From: Ansi.Output*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "withGraphics", "Ansi.Output", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "withGraphics" }, "sortText": "Z.withGraphics", "additionalTextEdits": null, "filterText": null, "insertText": "withGraphics", "kind": 12, "label": "withGraphics" }, { "detail": "∀ m. Applicative m ⇒ Boolean → m Unit → m Unit", "documentation": { "kind": "markdown", "value": "Perform an applicative action when a condition is true.\n\n*From: Control.Alternative*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "when", "Control.Alternative", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "when" }, "sortText": "Z.when", "additionalTextEdits": null, "filterText": null, "insertText": "when", "kind": 12, "label": "when" }, { "detail": "∀ m. Applicative m ⇒ Boolean → m Unit → m Unit", "documentation": { "kind": "markdown", "value": "Perform an applicative action when a condition is true.\n\n*From: Control.Applicative*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "when", "Control.Applicative", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "when" }, "sortText": "Z.when", "additionalTextEdits": null, "filterText": null, "insertText": "when", "kind": 12, "label": "when" }, { "detail": "∀ m. Applicative m ⇒ Boolean → m Unit → m Unit", "documentation": { "kind": "markdown", "value": "Perform an applicative action when a condition is true.\n\n*From: Control.Bind*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "when", "Control.Bind", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "when" }, "sortText": "Z.when", "additionalTextEdits": null, "filterText": null, "insertText": "when", "kind": 12, "label": "when" }, { "detail": "∀ e1 e2 a. (e1 → e2) → Env e1 a → Env e2 a", "documentation": { "kind": "markdown", "value": "Change the environment type in an `Env` computation.\n\n*From: Control.Comonad.Env*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "withEnv", "Control.Comonad.Env", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "withEnv" }, "sortText": "Z.withEnv", "additionalTextEdits": null, "filterText": null, "insertText": "withEnv", "kind": 12, "label": "withEnv" }, { "detail": "∀ e1 e2 w a. (e1 → e2) → EnvT e1 w a → EnvT e2 w a", "documentation": { "kind": "markdown", "value": "Change the environment type in an `EnvT` context.\n\n*From: Control.Comonad.Env*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "withEnvT", "Control.Comonad.Env", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "withEnvT" }, "sortText": "Z.withEnvT", "additionalTextEdits": null, "filterText": null, "insertText": "withEnvT", "kind": 12, "label": "withEnvT" }, { "detail": "∀ e1 e2 w a. (e1 → e2) → EnvT e1 w a → EnvT e2 w a", "documentation": { "kind": "markdown", "value": "Change the environment type in an `EnvT` context.\n\n*From: Control.Comonad.Env.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "withEnvT", "Control.Comonad.Env.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "withEnvT" }, "sortText": "Z.withEnvT", "additionalTextEdits": null, "filterText": null, "insertText": "withEnvT", "kind": 12, "label": "withEnvT" }, { "detail": "∀ m. Monad m ⇒ m Boolean → m Unit → m Unit", "documentation": { "kind": "markdown", "value": "Perform a monadic action when a condition is true, where the conditional\nvalue is also in a monadic context.\n\n*From: Control.Monad*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "whenM", "Control.Monad", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "whenM" }, "sortText": "Z.whenM", "additionalTextEdits": null, "filterText": null, "insertText": "whenM", "kind": 12, "label": "whenM" }, { "detail": "∀ m. Applicative m ⇒ Boolean → m Unit → m Unit", "documentation": { "kind": "markdown", "value": "Perform an applicative action when a condition is true.\n\n*From: Control.Monad*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "when", "Control.Monad", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "when" }, "sortText": "Z.when", "additionalTextEdits": null, "filterText": null, "insertText": "when", "kind": 12, "label": "when" }, { "detail": "∀ r m a b. ((b → m r) → (a → m r)) → ContT r m a → ContT r m b", "documentation": { "kind": "markdown", "value": "Modify the continuation in a `ContT` monad action\n\n*From: Control.Monad.Cont*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "withContT", "Control.Monad.Cont", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "withContT" }, "sortText": "Z.withContT", "additionalTextEdits": null, "filterText": null, "insertText": "withContT", "kind": 12, "label": "withContT" }, { "detail": "∀ r m a b. ((b → m r) → (a → m r)) → ContT r m a → ContT r m b", "documentation": { "kind": "markdown", "value": "Modify the continuation in a `ContT` monad action\n\n*From: Control.Monad.Cont.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "withContT", "Control.Monad.Cont.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "withContT" }, "sortText": "Z.withContT", "additionalTextEdits": null, "filterText": null, "insertText": "withContT", "kind": 12, "label": "withContT" }, { "detail": "∀ e m r a. MonadError e m ⇒ m r → (r → m Unit) → (r → m a) → m a", "documentation": { "kind": "markdown", "value": "Make sure that a resource is cleaned up in the event of an exception. The\nrelease action is called regardless of whether the body action throws or\nreturns.\n\n*From: Control.Monad.Error.Class*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "withResource", "Control.Monad.Error.Class", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "withResource" }, "sortText": "Z.withResource", "additionalTextEdits": null, "filterText": null, "insertText": "withResource", "kind": 12, "label": "withResource" }, { "detail": "∀ e e' a. (e → e') → Except e a → Except e' a", "documentation": { "kind": "markdown", "value": "Transform any exceptions thrown by an `Except` computation using the given function.\n\n*From: Control.Monad.Except*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "withExcept", "Control.Monad.Except", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "withExcept" }, "sortText": "Z.withExcept", "additionalTextEdits": null, "filterText": null, "insertText": "withExcept", "kind": 12, "label": "withExcept" }, { "detail": "∀ e e' m a. Functor m ⇒ (e → e') → ExceptT e m a → ExceptT e' m a", "documentation": { "kind": "markdown", "value": "Transform any exceptions thrown by an `ExceptT` computation using the given function.\n\n*From: Control.Monad.Except*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "withExceptT", "Control.Monad.Except", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "withExceptT" }, "sortText": "Z.withExceptT", "additionalTextEdits": null, "filterText": null, "insertText": "withExceptT", "kind": 12, "label": "withExceptT" }, { "detail": "∀ e e' m a. Functor m ⇒ (e → e') → ExceptT e m a → ExceptT e' m a", "documentation": { "kind": "markdown", "value": "Transform any exceptions thrown by an `ExceptT` computation using the given function.\n\n*From: Control.Monad.Except.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "withExceptT", "Control.Monad.Except.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "withExceptT" }, "sortText": "Z.withExceptT", "additionalTextEdits": null, "filterText": null, "insertText": "withExceptT", "kind": 12, "label": "withExceptT" }, { "detail": "∀ f a. f (Free f a) → Free f a", "documentation": { "kind": "markdown", "value": "Add a layer.\n\n*From: Control.Monad.Free*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "wrap", "Control.Monad.Free", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "wrap" }, "sortText": "Z.wrap", "additionalTextEdits": null, "filterText": null, "insertText": "wrap", "kind": 12, "label": "wrap" }, { "detail": "∀ a m f. MonadFree f m ⇒ f (m a) → m a", "documentation": { "kind": "markdown", "value": "\n*From: Control.Monad.Free.Class*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "wrapFree", "Control.Monad.Free.Class", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "wrapFree" }, "sortText": "Z.wrapFree", "additionalTextEdits": null, "filterText": null, "insertText": "wrapFree", "kind": 12, "label": "wrapFree" }, { "detail": "∀ f a. Functor f ⇒ f (ListT f a) → ListT f a", "documentation": { "kind": "markdown", "value": "Lift a computation from the base monad.\n\n*From: Control.Monad.List.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "wrapEffect", "Control.Monad.List.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "wrapEffect" }, "sortText": "Z.wrapEffect", "additionalTextEdits": null, "filterText": null, "insertText": "wrapEffect", "kind": 12, "label": "wrapEffect" }, { "detail": "∀ f a. Applicative f ⇒ Lazy (ListT f a) → ListT f a", "documentation": { "kind": "markdown", "value": "Defer evaluation of a list.\n\n*From: Control.Monad.List.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "wrapLazy", "Control.Monad.List.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "wrapLazy" }, "sortText": "Z.wrapLazy", "additionalTextEdits": null, "filterText": null, "insertText": "wrapLazy", "kind": 12, "label": "wrapLazy" }, { "detail": "∀ r1 r2 w s a. (r2 → s → Tuple r1 s) → RWS r1 w s a → RWS r2 w s a", "documentation": { "kind": "markdown", "value": "Change the type of the context in a `RWS` action\n\n*From: Control.Monad.RWS*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "withRWS", "Control.Monad.RWS", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "withRWS" }, "sortText": "Z.withRWS", "additionalTextEdits": null, "filterText": null, "insertText": "withRWS", "kind": 12, "label": "withRWS" }, { "detail": "∀ r1 r2 w s m a. (r2 → s → Tuple r1 s) → RWST r1 w s m a → RWST r2 w s m a", "documentation": { "kind": "markdown", "value": "Change the context type in a `RWST` monad action.\n\n*From: Control.Monad.RWS*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "withRWST", "Control.Monad.RWS", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "withRWST" }, "sortText": "Z.withRWST", "additionalTextEdits": null, "filterText": null, "insertText": "withRWST", "kind": 12, "label": "withRWST" }, { "detail": "∀ r1 r2 w s m a. (r2 → s → Tuple r1 s) → RWST r1 w s m a → RWST r2 w s m a", "documentation": { "kind": "markdown", "value": "Change the context type in a `RWST` monad action.\n\n*From: Control.Monad.RWS.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "withRWST", "Control.Monad.RWS.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "withRWST" }, "sortText": "Z.withRWST", "additionalTextEdits": null, "filterText": null, "insertText": "withRWST", "kind": 12, "label": "withRWST" }, { "detail": "∀ r1 r2 a. (r2 → r1) → Reader r1 a → Reader r2 a", "documentation": { "kind": "markdown", "value": "Change the type of the context in a `Reader` monad action.\n\n*From: Control.Monad.Reader*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "withReader", "Control.Monad.Reader", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "withReader" }, "sortText": "Z.withReader", "additionalTextEdits": null, "filterText": null, "insertText": "withReader", "kind": 12, "label": "withReader" }, { "detail": "∀ r1 r2 m a. (r2 → r1) → ReaderT r1 m a → ReaderT r2 m a", "documentation": { "kind": "markdown", "value": "Change the type of the context in a `ReaderT` monad action.\n\n*From: Control.Monad.Reader*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "withReaderT", "Control.Monad.Reader", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "withReaderT" }, "sortText": "Z.withReaderT", "additionalTextEdits": null, "filterText": null, "insertText": "withReaderT", "kind": 12, "label": "withReaderT" }, { "detail": "∀ r1 r2 m a. (r2 → r1) → ReaderT r1 m a → ReaderT r2 m a", "documentation": { "kind": "markdown", "value": "Change the type of the context in a `ReaderT` monad action.\n\n*From: Control.Monad.Reader.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "withReaderT", "Control.Monad.Reader.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "withReaderT" }, "sortText": "Z.withReaderT", "additionalTextEdits": null, "filterText": null, "insertText": "withReaderT", "kind": 12, "label": "withReaderT" }, { "detail": "∀ a m. Monoid a ⇒ MonadRec m ⇒ m (Maybe a) → m a", "documentation": { "kind": "markdown", "value": "While supplied computation evaluates to `Just _`, it will be\nexecuted repeatedly and results will be combined using monoid instance.\n\n*From: Control.Monad.Rec.Class*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "whileJust", "Control.Monad.Rec.Class", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "whileJust" }, "sortText": "Z.whileJust", "additionalTextEdits": null, "filterText": null, "insertText": "whileJust", "kind": 12, "label": "whileJust" }, { "detail": "∀ r a. ST r Boolean → ST r a → ST r Unit", "documentation": { "kind": "markdown", "value": "Loop while a condition is `true`.\n\n`while b m` is ST computation which runs the ST computation `b`. If its\nresult is `true`, it runs the ST computation `m` and loops. If not, the\ncomputation ends.\n\n*From: Control.Monad.ST*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "while", "Control.Monad.ST", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "while" }, "sortText": "Z.while", "additionalTextEdits": null, "filterText": null, "insertText": "while", "kind": 12, "label": "while" }, { "detail": "∀ r a. ST r Boolean → ST r a → ST r Unit", "documentation": { "kind": "markdown", "value": "Loop while a condition is `true`.\n\n`while b m` is ST computation which runs the ST computation `b`. If its\nresult is `true`, it runs the ST computation `m` and loops. If not, the\ncomputation ends.\n\n*From: Control.Monad.ST.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "while", "Control.Monad.ST.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "while" }, "sortText": "Z.while", "additionalTextEdits": null, "filterText": null, "insertText": "while", "kind": 12, "label": "while" }, { "detail": "∀ a r. a → STRef r a → ST r a", "documentation": { "kind": "markdown", "value": "Set the value of a mutable reference.\n\n*From: Control.Monad.ST.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "write", "Control.Monad.ST.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "write" }, "sortText": "Z.write", "additionalTextEdits": null, "filterText": null, "insertText": "write", "kind": 12, "label": "write" }, { "detail": "∀ a r. a → STRef r a → ST r a", "documentation": { "kind": "markdown", "value": "Set the value of a mutable reference.\n\n*From: Control.Monad.ST.Ref*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "write", "Control.Monad.ST.Ref", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "write" }, "sortText": "Z.write", "additionalTextEdits": null, "filterText": null, "insertText": "write", "kind": 12, "label": "write" }, { "detail": "∀ s a. (s → s) → State s a → State s a", "documentation": { "kind": "markdown", "value": "Modify the state in a `State` action\n\n*From: Control.Monad.State*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "withState", "Control.Monad.State", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "withState" }, "sortText": "Z.withState", "additionalTextEdits": null, "filterText": null, "insertText": "withState", "kind": 12, "label": "withState" }, { "detail": "∀ s m a. (s → s) → StateT s m a → StateT s m a", "documentation": { "kind": "markdown", "value": "Modify the final state in a `StateT` monad action.\n\n*From: Control.Monad.State*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "withStateT", "Control.Monad.State", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "withStateT" }, "sortText": "Z.withStateT", "additionalTextEdits": null, "filterText": null, "insertText": "withStateT", "kind": 12, "label": "withStateT" }, { "detail": "∀ s m a. (s → s) → StateT s m a → StateT s m a", "documentation": { "kind": "markdown", "value": "Modify the final state in a `StateT` monad action.\n\n*From: Control.Monad.State.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "withStateT", "Control.Monad.State.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "withStateT" }, "sortText": "Z.withStateT", "additionalTextEdits": null, "filterText": null, "insertText": "withStateT", "kind": 12, "label": "withStateT" }, { "detail": "∀ w a. Tuple a w → Writer w a", "documentation": { "kind": "markdown", "value": "Creates a `Writer` from a result and output pair.\n\n*From: Control.Monad.Writer*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "writer", "Control.Monad.Writer", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "writer" }, "sortText": "Z.writer", "additionalTextEdits": null, "filterText": null, "insertText": "writer", "kind": 12, "label": "writer" }, { "detail": "∀ m. Applicative m ⇒ Boolean → m Unit → m Unit", "documentation": { "kind": "markdown", "value": "Perform an applicative action when a condition is true.\n\n*From: Control.MonadPlus*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "when", "Control.MonadPlus", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "when" }, "sortText": "Z.when", "additionalTextEdits": null, "filterText": null, "insertText": "when", "kind": 12, "label": "when" }, { "detail": "∀ m. Applicative m ⇒ Boolean → m Unit → m Unit", "documentation": { "kind": "markdown", "value": "Perform an applicative action when a condition is true.\n\n*From: Control.MonadZero*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "when", "Control.MonadZero", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "when" }, "sortText": "Z.when", "additionalTextEdits": null, "filterText": null, "insertText": "when", "kind": 12, "label": "when" }, { "detail": "∀ h a b. (STArray h a → ST h b) → Array a → ST h (Array a)", "documentation": { "kind": "markdown", "value": "Perform an effect requiring a mutable array on a copy of an immutable array,\nsafely returning the result as an immutable array.\n\n*From: Data.Array.ST*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "withArray", "Data.Array.ST", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "withArray" }, "sortText": "Z.withArray", "additionalTextEdits": null, "filterText": null, "insertText": "withArray", "kind": 12, "label": "withArray" }, { "detail": "Date → Weekday", "documentation": { "kind": "markdown", "value": "The weekday for a date value.\n\n*From: Data.Date*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "weekday", "Data.Date", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "weekday" }, "sortText": "Z.weekday", "additionalTextEdits": null, "filterText": null, "insertText": "weekday", "kind": 12, "label": "weekday" }, { "detail": "Date → Weekday", "documentation": { "kind": "markdown", "value": "The weekday for a date value.\n\n*From: Data.DateTime*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "weekday", "Data.DateTime", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "weekday" }, "sortText": "Z.weekday", "additionalTextEdits": null, "filterText": null, "insertText": "weekday", "kind": 12, "label": "weekday" }, { "detail": "Number → Duration", "documentation": { "kind": "markdown", "value": "\n*From: Data.Interval*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "week", "Data.Interval", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "week" }, "sortText": "Z.week", "additionalTextEdits": null, "filterText": null, "insertText": "week", "kind": 12, "label": "week" }, { "detail": "Number → Duration", "documentation": { "kind": "markdown", "value": "\n*From: Data.Interval.Duration*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "week", "Data.Interval.Duration", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "week" }, "sortText": "Z.week", "additionalTextEdits": null, "filterText": null, "insertText": "week", "kind": 12, "label": "week" }, { "detail": "∀ a t. Newtype t a ⇒ a → t", "documentation": { "kind": "markdown", "value": "\n*From: Data.Newtype*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "wrap", "Data.Newtype", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "wrap" }, "sortText": "Z.wrap", "additionalTextEdits": null, "filterText": null, "insertText": "wrap", "kind": 12, "label": "wrap" }, { "detail": "∀ a. Effect Boolean → Effect a → Effect Unit", "documentation": { "kind": "markdown", "value": "Loop while a condition is `true`.\n\n`whileE b m` is effectful computation which runs the effectful computation\n`b`. If its result is `true`, it runs the effectful computation `m` and\nloops. If not, the computation ends.\n\n*From: Effect*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "whileE", "Effect", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "whileE" }, "sortText": "Z.whileE", "additionalTextEdits": null, "filterText": null, "insertText": "whileE", "kind": 12, "label": "whileE" }, { "detail": "∀ m. MonadEffect m ⇒ String → m Unit", "documentation": { "kind": "markdown", "value": "\n*From: Effect.Class.Console*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "warn", "Effect.Class.Console", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "warn" }, "sortText": "Z.warn", "additionalTextEdits": null, "filterText": null, "insertText": "warn", "kind": 12, "label": "warn" }, { "detail": "∀ m a. MonadEffect m ⇒ Show a ⇒ a → m Unit", "documentation": { "kind": "markdown", "value": "\n*From: Effect.Class.Console*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "warnShow", "Effect.Class.Console", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "warnShow" }, "sortText": "Z.warnShow", "additionalTextEdits": null, "filterText": null, "insertText": "warnShow", "kind": 12, "label": "warnShow" }, { "detail": "String → Effect Unit", "documentation": { "kind": "markdown", "value": "Write an warning to the console.\n\n*From: Effect.Console*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "warn", "Effect.Console", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "warn" }, "sortText": "Z.warn", "additionalTextEdits": null, "filterText": null, "insertText": "warn", "kind": 12, "label": "warn" }, { "detail": "∀ a. Show a ⇒ a → Effect Unit", "documentation": { "kind": "markdown", "value": "Write an warning value to the console, using its `Show` instance to produce\na `String`.\n\n*From: Effect.Console*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "warnShow", "Effect.Console", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "warnShow" }, "sortText": "Z.warnShow", "additionalTextEdits": null, "filterText": null, "insertText": "warnShow", "kind": 12, "label": "warnShow" }, { "detail": "∀ s. s → Ref s → Effect Unit", "documentation": { "kind": "markdown", "value": "Update the value of a mutable reference to the specified value.\n\n*From: Effect.Ref*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "write", "Effect.Ref", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "write" }, "sortText": "Z.write", "additionalTextEdits": null, "filterText": null, "insertText": "write", "kind": 12, "label": "write" }, { "detail": "∀ m buf. MutableBuffer buf m ⇒ BufferValueType → Number → Int → buf → m Unit", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "write", "Node.Buffer", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "write" }, "sortText": "Z.write", "additionalTextEdits": null, "filterText": null, "insertText": "write", "kind": 12, "label": "write" }, { "detail": "∀ m buf. MutableBuffer buf m ⇒ Encoding → Int → Int → String → buf → m Int", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "writeString", "Node.Buffer", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "writeString" }, "sortText": "Z.writeString", "additionalTextEdits": null, "filterText": null, "insertText": "writeString", "kind": 12, "label": "writeString" }, { "detail": "∀ m buf. MutableBuffer buf m ⇒ BufferValueType → Number → Int → buf → m Unit", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer.Class*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "write", "Node.Buffer.Class", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "write" }, "sortText": "Z.write", "additionalTextEdits": null, "filterText": null, "insertText": "write", "kind": 12, "label": "write" }, { "detail": "∀ m buf. MutableBuffer buf m ⇒ Encoding → Int → Int → String → buf → m Int", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer.Class*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "writeString", "Node.Buffer.Class", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "writeString" }, "sortText": "Z.writeString", "additionalTextEdits": null, "filterText": null, "insertText": "writeString", "kind": 12, "label": "writeString" }, { "detail": "∀ buf m. Monad m ⇒ BufferValueType → Number → Offset → buf → m Unit", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "write", "Node.Buffer.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "write" }, "sortText": "Z.write", "additionalTextEdits": null, "filterText": null, "insertText": "write", "kind": 12, "label": "write" }, { "detail": "∀ buf m. Monad m ⇒ Encoding → Offset → Int → String → buf → m Int", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "writeString", "Node.Buffer.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "writeString" }, "sortText": "Z.writeString", "additionalTextEdits": null, "filterText": null, "insertText": "writeString", "kind": 12, "label": "writeString" }, { "detail": "FilePath → Buffer → Callback Unit → Effect Unit", "documentation": { "kind": "markdown", "value": "Writes a buffer to a file.\n\n*From: Node.FS.Async*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "writeFile", "Node.FS.Async", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "writeFile" }, "sortText": "Z.writeFile", "additionalTextEdits": null, "filterText": null, "insertText": "writeFile", "kind": 12, "label": "writeFile" }, { "detail": "Encoding → FilePath → String → Callback Unit → Effect Unit", "documentation": { "kind": "markdown", "value": "Writes text to a file using the specified encoding.\n\n*From: Node.FS.Async*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "writeTextFile", "Node.FS.Async", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "writeTextFile" }, "sortText": "Z.writeTextFile", "additionalTextEdits": null, "filterText": null, "insertText": "writeTextFile", "kind": 12, "label": "writeTextFile" }, { "detail": "Perm", "documentation": { "kind": "markdown", "value": "The \"writable\" permission.\n\n*From: Node.FS.Perms*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "write", "Node.FS.Perms", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "write" }, "sortText": "Z.write", "additionalTextEdits": null, "filterText": null, "insertText": "write", "kind": 12, "label": "write" }, { "detail": "FilePath → Buffer → Effect Unit", "documentation": { "kind": "markdown", "value": "Writes a buffer to a file.\n\n*From: Node.FS.Sync*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "writeFile", "Node.FS.Sync", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "writeFile" }, "sortText": "Z.writeFile", "additionalTextEdits": null, "filterText": null, "insertText": "writeFile", "kind": 12, "label": "writeFile" }, { "detail": "Encoding → FilePath → String → Effect Unit", "documentation": { "kind": "markdown", "value": "Writes text to a file using the specified encoding.\n\n*From: Node.FS.Sync*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "writeTextFile", "Node.FS.Sync", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "writeTextFile" }, "sortText": "Z.writeTextFile", "additionalTextEdits": null, "filterText": null, "insertText": "writeTextFile", "kind": 12, "label": "writeTextFile" }, { "detail": "∀ r. Writable r → Buffer → Effect Unit → Effect Boolean", "documentation": { "kind": "markdown", "value": "Write a Buffer to a writable stream.\n\n*From: Node.Stream*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "write", "Node.Stream", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "write" }, "sortText": "Z.write", "additionalTextEdits": null, "filterText": null, "insertText": "write", "kind": 12, "label": "write" }, { "detail": "∀ r. Writable r → Encoding → String → Effect Unit → Effect Boolean", "documentation": { "kind": "markdown", "value": "Write a string in the specified encoding to a writable stream.\n\n*From: Node.Stream*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "writeString", "Node.Stream", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "writeString" }, "sortText": "Z.writeString", "additionalTextEdits": null, "filterText": null, "insertText": "writeString", "kind": 12, "label": "writeString" }, { "detail": "∀ m. Applicative m ⇒ Boolean → m Unit → m Unit", "documentation": { "kind": "markdown", "value": "Perform an applicative action when a condition is true.\n\n*From: Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "when", "Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "when" }, "sortText": "Z.when", "additionalTextEdits": null, "filterText": null, "insertText": "when", "kind": 12, "label": "when" }, { "detail": "∀ m. Monad m ⇒ m Boolean → m Unit → m Unit", "documentation": { "kind": "markdown", "value": "Perform a monadic action when a condition is true, where the conditional\nvalue is also in a monadic context.\n\n*From: Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "whenM", "Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "whenM" }, "sortText": "Z.whenM", "additionalTextEdits": null, "filterText": null, "insertText": "whenM", "kind": 12, "label": "whenM" }, { "detail": "Boolean → String → Result", "documentation": { "kind": "markdown", "value": "This operator attaches an error message to a failed test.\n\nFor example:\n\n```purescript\ntest x = myProperty x (\"myProperty did not hold for \" <> show x)\n```\n\n*From: Test.QuickCheck*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "withHelp", "Test.QuickCheck", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "withHelp" }, "sortText": "Z.withHelp", "additionalTextEdits": null, "filterText": null, "insertText": "withHelp", "kind": 12, "label": "withHelp" }, { "detail": "String → Effect Unit", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Console*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "write", "Test.Spec.Console", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "write" }, "sortText": "Z.write", "additionalTextEdits": null, "filterText": null, "insertText": "write", "kind": 12, "label": "write" } ], "isIncomplete": false } [Trace - 4:16:45 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 50 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec)\n\nspec :: Spec Unit\nspec = describe \"Problems\" d\n" } ] } [Trace - 4:16:45 PM] Sending request 'textDocument/completion - (29)'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" }, "position": { "line": 7, "character": 28 }, "context": { "triggerKind": 1 } } [Trace - 4:16:45 PM] Received notification 'window/logMessage'. Params: { "type": 3, "message": "[Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead\n" } [Info - 4:16:45 PM] [Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead [Trace - 4:16:45 PM] Received response 'textDocument/completion - (29)' in 34ms. Result: { "items": [ { "detail": "NonEmptyList GraphicsParam", "documentation": { "kind": "markdown", "value": "\n*From: Ansi.Output*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dim", "Ansi.Output", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "dim" }, "sortText": "Z.dim", "additionalTextEdits": null, "filterText": null, "insertText": "dim", "kind": 12, "label": "dim" }, { "detail": "∀ f b a. Discard a ⇒ Bind f ⇒ f a → (a → f b) → f b", "documentation": { "kind": "markdown", "value": "\n*From: Control.Bind*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "discard", "Control.Bind", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "discard" }, "sortText": "Z.discard", "additionalTextEdits": null, "filterText": null, "insertText": "discard", "kind": 12, "label": "discard" }, { "detail": "∀ a w. Extend w ⇒ w a → w (w a)", "documentation": { "kind": "markdown", "value": "Duplicate a comonadic context.\n\n`duplicate` is dual to `Control.Bind.join`.\n\n*From: Control.Comonad*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "duplicate", "Control.Comonad", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "duplicate" }, "sortText": "Z.duplicate", "additionalTextEdits": null, "filterText": null, "insertText": "duplicate", "kind": 12, "label": "duplicate" }, { "detail": "∀ f a. (Unit → Tuple a (f (Cofree f a))) → Cofree f a", "documentation": { "kind": "markdown", "value": "Lazily creates a value of type `Cofree f a` from a label and a\nfunctor-full of \"subtrees\".\n\n*From: Control.Comonad.Cofree*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "deferCofree", "Control.Comonad.Cofree", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "deferCofree" }, "sortText": "Z.deferCofree", "additionalTextEdits": null, "filterText": null, "insertText": "deferCofree", "kind": 12, "label": "deferCofree" }, { "detail": "∀ a w. Extend w ⇒ w a → w (w a)", "documentation": { "kind": "markdown", "value": "Duplicate a comonadic context.\n\n`duplicate` is dual to `Control.Bind.join`.\n\n*From: Control.Extend*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "duplicate", "Control.Extend", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "duplicate" }, "sortText": "Z.duplicate", "additionalTextEdits": null, "filterText": null, "insertText": "duplicate", "kind": 12, "label": "duplicate" }, { "detail": "∀ l. Lazy l ⇒ (Unit → l) → l", "documentation": { "kind": "markdown", "value": "\n*From: Control.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defer", "Control.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "defer" }, "sortText": "Z.defer", "additionalTextEdits": null, "filterText": null, "insertText": "defer", "kind": 12, "label": "defer" }, { "detail": "∀ f a. Applicative f ⇒ Int → ListT f a → ListT f a", "documentation": { "kind": "markdown", "value": "Drop a number of elements from the front of a list.\n\n*From: Control.Monad.List.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drop", "Control.Monad.List.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "drop" }, "sortText": "Z.drop", "additionalTextEdits": null, "filterText": null, "insertText": "drop", "kind": 12, "label": "drop" }, { "detail": "∀ f a. Applicative f ⇒ (a → Boolean) → ListT f a → ListT f a", "documentation": { "kind": "markdown", "value": "Drop elements from the front of a list while a predicate holds.\n\n*From: Control.Monad.List.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropWhile", "Control.Monad.List.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "dropWhile" }, "sortText": "Z.dropWhile", "additionalTextEdits": null, "filterText": null, "insertText": "dropWhile", "kind": 12, "label": "dropWhile" }, { "detail": "∀ a. a → Trampoline a", "documentation": { "kind": "markdown", "value": "Return a value immediately\n\n*From: Control.Monad.Trampoline*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "done", "Control.Monad.Trampoline", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "done" }, "sortText": "Z.done", "additionalTextEdits": null, "filterText": null, "insertText": "done", "kind": 12, "label": "done" }, { "detail": "∀ a. (Unit → a) → Trampoline a", "documentation": { "kind": "markdown", "value": "Use the `Trampoline` monad to represent the delayed evaluation of a value.\n\n*From: Control.Monad.Trampoline*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "delay", "Control.Monad.Trampoline", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "delay" }, "sortText": "Z.delay", "additionalTextEdits": null, "filterText": null, "insertText": "delay", "kind": 12, "label": "delay" }, { "detail": "∀ a. Int → Array a → Maybe (Array a)", "documentation": { "kind": "markdown", "value": "Delete the element at the specified index, creating a new array, or\nreturning `Nothing` if the index is out of bounds.\n\n```purescript\ndeleteAt 0 [\"Hello\", \"World\"] = Just [\"World\"]\ndeleteAt 10 [\"Hello\", \"World\"] = Nothing\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "deleteAt", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "deleteAt" }, "sortText": "Z.deleteAt", "additionalTextEdits": null, "filterText": null, "insertText": "deleteAt", "kind": 12, "label": "deleteAt" }, { "detail": "∀ a. Int → Array a → Array a", "documentation": { "kind": "markdown", "value": "Drop a number of elements from the start of an array, creating a new array.\n\n```purescript\nletters = [\"a\", \"b\", \"c\", \"d\"]\n\ndrop 2 letters = [\"c\", \"d\"]\ndrop 10 letters = []\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drop", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "drop" }, "sortText": "Z.drop", "additionalTextEdits": null, "filterText": null, "insertText": "drop", "kind": 12, "label": "drop" }, { "detail": "∀ a. Int → Array a → Array a", "documentation": { "kind": "markdown", "value": "Drop a number of elements from the end of an array, creating a new array.\n\n```purescript\nletters = [\"a\", \"b\", \"c\", \"d\"]\n\ndropEnd 2 letters = [\"a\", \"b\"]\ndropEnd 10 letters = []\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropEnd", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "dropEnd" }, "sortText": "Z.dropEnd", "additionalTextEdits": null, "filterText": null, "insertText": "dropEnd", "kind": 12, "label": "dropEnd" }, { "detail": "∀ a. (a → Boolean) → Array a → Array a", "documentation": { "kind": "markdown", "value": "Remove the longest initial subarray for which all element satisfy the\nspecified predicate, creating a new array.\n\n```purescript\ndropWhile (_ < 0) [-3, -1, 0, 4, -6] = [0, 4, -6]\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropWhile", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "dropWhile" }, "sortText": "Z.dropWhile", "additionalTextEdits": null, "filterText": null, "insertText": "dropWhile", "kind": 12, "label": "dropWhile" }, { "detail": "∀ a. Eq a ⇒ a → Array a → Array a", "documentation": { "kind": "markdown", "value": "Delete the first element of an array which is equal to the specified value,\ncreating a new array.\n\n```purescript\ndelete 7 [1, 7, 3, 7] = [1, 3, 7]\ndelete 7 [1, 2, 3] = [1, 2, 3]\n```\n\nRunning time: `O(n)`\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "delete", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "delete" }, "sortText": "Z.delete", "additionalTextEdits": null, "filterText": null, "insertText": "delete", "kind": 12, "label": "delete" }, { "detail": "∀ a. (a → a → Boolean) → a → Array a → Array a", "documentation": { "kind": "markdown", "value": "Delete the first element of an array which matches the specified value,\nunder the equivalence relation provided in the first argument, creating a\nnew array.\n\n```purescript\nmod3eq a b = a `mod` 3 == b `mod` 3\ndeleteBy mod3eq 6 [1, 3, 4, 3] = [1, 4, 3]\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "deleteBy", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "deleteBy" }, "sortText": "Z.deleteBy", "additionalTextEdits": null, "filterText": null, "insertText": "deleteBy", "kind": 12, "label": "deleteBy" }, { "detail": "∀ a. Eq a ⇒ Array a → Array a → Array a", "documentation": { "kind": "markdown", "value": "Delete the first occurrence of each element in the second array from the\nfirst array, creating a new array.\n\n```purescript\ndifference [2, 1] [2, 3] = [1]\n```\n\nRunning time: `O(n*m)`, where n is the length of the first array, and m is\nthe length of the second.\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "difference", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "difference" }, "sortText": "Z.difference", "additionalTextEdits": null, "filterText": null, "insertText": "difference", "kind": 12, "label": "difference" }, { "detail": "∀ a. Int → NonEmptyArray a → Maybe (Array a)", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "deleteAt", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "deleteAt" }, "sortText": "Z.deleteAt", "additionalTextEdits": null, "filterText": null, "insertText": "deleteAt", "kind": 12, "label": "deleteAt" }, { "detail": "∀ a. Int → NonEmptyArray a → Array a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drop", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "drop" }, "sortText": "Z.drop", "additionalTextEdits": null, "filterText": null, "insertText": "drop", "kind": 12, "label": "drop" }, { "detail": "∀ a. Int → NonEmptyArray a → Array a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropEnd", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "dropEnd" }, "sortText": "Z.dropEnd", "additionalTextEdits": null, "filterText": null, "insertText": "dropEnd", "kind": 12, "label": "dropEnd" }, { "detail": "∀ a. (a → Boolean) → NonEmptyArray a → Array a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropWhile", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "dropWhile" }, "sortText": "Z.dropWhile", "additionalTextEdits": null, "filterText": null, "insertText": "dropWhile", "kind": 12, "label": "dropWhile" }, { "detail": "∀ a. Eq a ⇒ a → NonEmptyArray a → Array a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "delete", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "delete" }, "sortText": "Z.delete", "additionalTextEdits": null, "filterText": null, "insertText": "delete", "kind": 12, "label": "delete" }, { "detail": "∀ a. (a → a → Boolean) → a → NonEmptyArray a → Array a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "deleteBy", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "deleteBy" }, "sortText": "Z.deleteBy", "additionalTextEdits": null, "filterText": null, "insertText": "deleteBy", "kind": 12, "label": "deleteBy" }, { "detail": "∀ a. Eq a ⇒ NonEmptyArray a → NonEmptyArray a → Array a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "difference", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "difference" }, "sortText": "Z.difference", "additionalTextEdits": null, "filterText": null, "insertText": "difference", "kind": 12, "label": "difference" }, { "detail": "∀ a. Eq a ⇒ NonEmptyArray a → Array a → Array a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "difference'", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "difference'" }, "sortText": "Z.difference'", "additionalTextEdits": null, "filterText": null, "insertText": "difference'", "kind": 12, "label": "difference'" }, { "detail": "Int → BigInt → BaseDigits", "documentation": { "kind": "markdown", "value": "A base N representation of the `BigInt` as an array of digits.\n\n*From: Data.BigInt*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "digitsInBase", "Data.BigInt", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "digitsInBase" }, "sortText": "Z.digitsInBase", "additionalTextEdits": null, "filterText": null, "insertText": "digitsInBase", "kind": 12, "label": "digitsInBase" }, { "detail": "∀ a. HeytingAlgebra a ⇒ a → a → a", "documentation": { "kind": "markdown", "value": "\n*From: Data.BooleanAlgebra*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "disj", "Data.BooleanAlgebra", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "disj" }, "sortText": "Z.disj", "additionalTextEdits": null, "filterText": null, "insertText": "disj", "kind": 12, "label": "disj" }, { "detail": "∀ a. Ord a ⇒ Comparison a", "documentation": { "kind": "markdown", "value": "The default comparison for any values with an `Ord` instance.\n\n*From: Data.Comparison*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultComparison", "Data.Comparison", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "defaultComparison" }, "sortText": "Z.defaultComparison", "additionalTextEdits": null, "filterText": null, "insertText": "defaultComparison", "kind": 12, "label": "defaultComparison" }, { "detail": "Date → Day", "documentation": { "kind": "markdown", "value": "The day component of a date value.\n\n*From: Data.Date*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "day", "Data.Date", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "day" }, "sortText": "Z.day", "additionalTextEdits": null, "filterText": null, "insertText": "day", "kind": 12, "label": "day" }, { "detail": "∀ d. Duration d ⇒ Date → Date → d", "documentation": { "kind": "markdown", "value": "Calculates the difference between two dates, returning the result as a\nduration.\n\n*From: Data.Date*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "diff", "Data.Date", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "diff" }, "sortText": "Z.diff", "additionalTextEdits": null, "filterText": null, "insertText": "diff", "kind": 12, "label": "diff" }, { "detail": "DateTime → Date", "documentation": { "kind": "markdown", "value": "\n*From: Data.DateTime*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "date", "Data.DateTime", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "date" }, "sortText": "Z.date", "additionalTextEdits": null, "filterText": null, "insertText": "date", "kind": 12, "label": "date" }, { "detail": "∀ d. Duration d ⇒ DateTime → DateTime → d", "documentation": { "kind": "markdown", "value": "Calculates the difference between two date/time values, returning the\nresult as a duration.\n\n*From: Data.DateTime*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "diff", "Data.DateTime", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "diff" }, "sortText": "Z.diff", "additionalTextEdits": null, "filterText": null, "insertText": "diff", "kind": 12, "label": "diff" }, { "detail": "Date → Day", "documentation": { "kind": "markdown", "value": "The day component of a date value.\n\n*From: Data.DateTime*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "day", "Data.DateTime", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "day" }, "sortText": "Z.day", "additionalTextEdits": null, "filterText": null, "insertText": "day", "kind": 12, "label": "day" }, { "detail": "∀ a g f. Distributive f ⇒ Functor g ⇒ g (f a) → f (g a)", "documentation": { "kind": "markdown", "value": "\n*From: Data.Distributive*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "distribute", "Data.Distributive", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "distribute" }, "sortText": "Z.distribute", "additionalTextEdits": null, "filterText": null, "insertText": "distribute", "kind": 12, "label": "distribute" }, { "detail": "∀ a f g. Distributive f ⇒ Functor g ⇒ g (f a) → f (g a)", "documentation": { "kind": "markdown", "value": "A default implementation of `distribute`, based on `collect`.\n\n*From: Data.Distributive*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "distributeDefault", "Data.Distributive", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "distributeDefault" }, "sortText": "Z.distributeDefault", "additionalTextEdits": null, "filterText": null, "insertText": "distributeDefault", "kind": 12, "label": "distributeDefault" }, { "detail": "∀ a b c f. Divide f ⇒ (a → Tuple b c) → f b → f c → f a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Divide*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "divide", "Data.Divide", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "divide" }, "sortText": "Z.divide", "additionalTextEdits": null, "filterText": null, "insertText": "divide", "kind": 12, "label": "divide" }, { "detail": "∀ f a b. Divide f ⇒ f a → f b → f (Tuple a b)", "documentation": { "kind": "markdown", "value": "`divided = divide id`\n\n*From: Data.Divide*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "divided", "Data.Divide", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "divided" }, "sortText": "Z.divided", "additionalTextEdits": null, "filterText": null, "insertText": "divided", "kind": 12, "label": "divided" }, { "detail": "∀ a u. Enum a ⇒ Unfoldable u ⇒ a → u a", "documentation": { "kind": "markdown", "value": "Produces all predecessors of an `Enum` value, excluding the start value.\n\n*From: Data.Enum*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "downFrom", "Data.Enum", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "downFrom" }, "sortText": "Z.downFrom", "additionalTextEdits": null, "filterText": null, "insertText": "downFrom", "kind": 12, "label": "downFrom" }, { "detail": "∀ a u. Enum a ⇒ Unfoldable1 u ⇒ a → u a", "documentation": { "kind": "markdown", "value": "Produces all predecessors of an `Enum` value, including the start value.\n\n`downFromIncluding top` will return all values in an `Enum`, in reverse\norder.\n\n*From: Data.Enum*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "downFromIncluding", "Data.Enum", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "downFromIncluding" }, "sortText": "Z.downFromIncluding", "additionalTextEdits": null, "filterText": null, "insertText": "downFromIncluding", "kind": 12, "label": "downFromIncluding" }, { "detail": "∀ a. (Int → Maybe a) → (a → Int) → a → Maybe a", "documentation": { "kind": "markdown", "value": "Provides a default implementation for `succ`, given a function that maps\nintegers to values in the `Enum`, and a function that maps values in the\n`Enum` back to integers. The integer mapping must agree in both directions\nfor this to implement a law-abiding `succ`.\n\nIf a `BoundedEnum` instance exists for `a`, the `toEnum` and `fromEnum`\nfunctions can be used here:\n\n``` purescript\nsucc = defaultSucc toEnum fromEnum\n```\n\n*From: Data.Enum*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultSucc", "Data.Enum", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "defaultSucc" }, "sortText": "Z.defaultSucc", "additionalTextEdits": null, "filterText": null, "insertText": "defaultSucc", "kind": 12, "label": "defaultSucc" }, { "detail": "∀ a. (Int → Maybe a) → (a → Int) → a → Maybe a", "documentation": { "kind": "markdown", "value": "Provides a default implementation for `pred`, given a function that maps\nintegers to values in the `Enum`, and a function that maps values in the\n`Enum` back to integers. The integer mapping must agree in both directions\nfor this to implement a law-abiding `pred`.\n\nIf a `BoundedEnum` instance exists for `a`, the `toEnum` and `fromEnum`\nfunctions can be used here:\n\n``` purescript\npred = defaultPred toEnum fromEnum\n```\n\n*From: Data.Enum*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultPred", "Data.Enum", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "defaultPred" }, "sortText": "Z.defaultPred", "additionalTextEdits": null, "filterText": null, "insertText": "defaultPred", "kind": 12, "label": "defaultPred" }, { "detail": "∀ a. Bounded a ⇒ Enum a ⇒ Cardinality a", "documentation": { "kind": "markdown", "value": "Provides a default implementation for `cardinality`.\n\nRuns in `O(n)` where `n` is `fromEnum top`\n\n*From: Data.Enum*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultCardinality", "Data.Enum", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "defaultCardinality" }, "sortText": "Z.defaultCardinality", "additionalTextEdits": null, "filterText": null, "insertText": "defaultCardinality", "kind": 12, "label": "defaultCardinality" }, { "detail": "∀ a. Bounded a ⇒ Enum a ⇒ Int → Maybe a", "documentation": { "kind": "markdown", "value": "Provides a default implementation for `toEnum`.\n\n- Assumes `fromEnum bottom = 0`.\n- Cannot be used in conjuction with `defaultSucc`.\n\nRuns in `O(n)` where `n` is `fromEnum a`.\n\n*From: Data.Enum*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultToEnum", "Data.Enum", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "defaultToEnum" }, "sortText": "Z.defaultToEnum", "additionalTextEdits": null, "filterText": null, "insertText": "defaultToEnum", "kind": 12, "label": "defaultToEnum" }, { "detail": "∀ a. Enum a ⇒ a → Int", "documentation": { "kind": "markdown", "value": "Provides a default implementation for `fromEnum`.\n\n- Assumes `toEnum 0 = Just bottom`.\n- Cannot be used in conjuction with `defaultPred`.\n\nRuns in `O(n)` where `n` is `fromEnum a`.\n\n*From: Data.Enum*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultFromEnum", "Data.Enum", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "defaultFromEnum" }, "sortText": "Z.defaultFromEnum", "additionalTextEdits": null, "filterText": null, "insertText": "defaultFromEnum", "kind": 12, "label": "defaultFromEnum" }, { "detail": "∀ a. Eq a ⇒ Equivalence a", "documentation": { "kind": "markdown", "value": "The default equivalence relation for any values with an `Eq` instance.\n\n*From: Data.Equivalence*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultEquivalence", "Data.Equivalence", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "defaultEquivalence" }, "sortText": "Z.defaultEquivalence", "additionalTextEdits": null, "filterText": null, "insertText": "defaultEquivalence", "kind": 12, "label": "defaultEquivalence" }, { "detail": "∀ a. EuclideanRing a ⇒ a → Int", "documentation": { "kind": "markdown", "value": "\n*From: Data.EuclideanRing*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "degree", "Data.EuclideanRing", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "degree" }, "sortText": "Z.degree", "additionalTextEdits": null, "filterText": null, "insertText": "degree", "kind": 12, "label": "degree" }, { "detail": "∀ a. EuclideanRing a ⇒ a → a → a", "documentation": { "kind": "markdown", "value": "\n*From: Data.EuclideanRing*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "div", "Data.EuclideanRing", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "div" }, "sortText": "Z.div", "additionalTextEdits": null, "filterText": null, "insertText": "div", "kind": 12, "label": "div" }, { "detail": "∀ a. EuclideanRing a ⇒ a → Int", "documentation": { "kind": "markdown", "value": "\n*From: Data.Field*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "degree", "Data.Field", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "degree" }, "sortText": "Z.degree", "additionalTextEdits": null, "filterText": null, "insertText": "degree", "kind": 12, "label": "degree" }, { "detail": "∀ a. EuclideanRing a ⇒ a → a → a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Field*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "div", "Data.Field", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "div" }, "sortText": "Z.div", "additionalTextEdits": null, "filterText": null, "insertText": "div", "kind": 12, "label": "div" }, { "detail": "∀ a. HeytingAlgebra a ⇒ a → a → a", "documentation": { "kind": "markdown", "value": "\n*From: Data.HeytingAlgebra*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "disj", "Data.HeytingAlgebra", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "disj" }, "sortText": "Z.disj", "additionalTextEdits": null, "filterText": null, "insertText": "disj", "kind": 12, "label": "disj" }, { "detail": "∀ subrow row rowlist. HeytingAlgebraRecord rowlist row subrow ⇒ RLProxy rowlist → Record row → Record row → Record subrow", "documentation": { "kind": "markdown", "value": "\n*From: Data.HeytingAlgebra*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "disjRecord", "Data.HeytingAlgebra", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "disjRecord" }, "sortText": "Z.disjRecord", "additionalTextEdits": null, "filterText": null, "insertText": "disjRecord", "kind": 12, "label": "disjRecord" }, { "detail": "Radix", "documentation": { "kind": "markdown", "value": "The base-10 system.\n\n*From: Data.Int*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "decimal", "Data.Int", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "decimal" }, "sortText": "Z.decimal", "additionalTextEdits": null, "filterText": null, "insertText": "decimal", "kind": 12, "label": "decimal" }, { "detail": "Number → Duration", "documentation": { "kind": "markdown", "value": "\n*From: Data.Interval*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "day", "Data.Interval", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "day" }, "sortText": "Z.day", "additionalTextEdits": null, "filterText": null, "insertText": "day", "kind": 12, "label": "day" }, { "detail": "Number → Duration", "documentation": { "kind": "markdown", "value": "\n*From: Data.Interval.Duration*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "day", "Data.Interval.Duration", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "day" }, "sortText": "Z.day", "additionalTextEdits": null, "filterText": null, "insertText": "day", "kind": 12, "label": "day" }, { "detail": "∀ a. (Unit → a) → Lazy a", "documentation": { "kind": "markdown", "value": "Defer a computation, creating a `Lazy` value.\n\n*From: Data.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defer", "Data.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "defer" }, "sortText": "Z.defer", "additionalTextEdits": null, "filterText": null, "insertText": "defer", "kind": 12, "label": "defer" }, { "detail": "∀ a. Int → List a → Maybe (List a)", "documentation": { "kind": "markdown", "value": "Delete an element from a list at the specified index, returning a new\nlist or `Nothing` if the index is out-of-bounds.\n\nRunning time: `O(n)`\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "deleteAt", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "deleteAt" }, "sortText": "Z.deleteAt", "additionalTextEdits": null, "filterText": null, "insertText": "deleteAt", "kind": 12, "label": "deleteAt" }, { "detail": "∀ a. Int → List a → List a", "documentation": { "kind": "markdown", "value": "Drop the specified number of elements from the front of a list.\n\nRunning time: `O(n)` where `n` is the number of elements to drop.\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drop", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "drop" }, "sortText": "Z.drop", "additionalTextEdits": null, "filterText": null, "insertText": "drop", "kind": 12, "label": "drop" }, { "detail": "∀ a. Int → List a → List a", "documentation": { "kind": "markdown", "value": "Drop the specified number of elements from the end of a list.\n\nRunning time: `O(2n - m)` where `n` is the number of elements in list\nand `m` is number of elements to drop.\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropEnd", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "dropEnd" }, "sortText": "Z.dropEnd", "additionalTextEdits": null, "filterText": null, "insertText": "dropEnd", "kind": 12, "label": "dropEnd" }, { "detail": "∀ a. (a → Boolean) → List a → List a", "documentation": { "kind": "markdown", "value": "Drop those elements from the front of a list which match a predicate.\n\nRunning time (worst case): `O(n)`\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropWhile", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "dropWhile" }, "sortText": "Z.dropWhile", "additionalTextEdits": null, "filterText": null, "insertText": "dropWhile", "kind": 12, "label": "dropWhile" }, { "detail": "∀ a. Eq a ⇒ a → List a → List a", "documentation": { "kind": "markdown", "value": "Delete the first occurrence of an element from a list.\n\nRunning time: `O(n)`\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "delete", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "delete" }, "sortText": "Z.delete", "additionalTextEdits": null, "filterText": null, "insertText": "delete", "kind": 12, "label": "delete" }, { "detail": "∀ a. (a → a → Boolean) → a → List a → List a", "documentation": { "kind": "markdown", "value": "Delete the first occurrence of an element from a list, using the specified\nfunction to determine equality of elements.\n\nRunning time: `O(n)`\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "deleteBy", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "deleteBy" }, "sortText": "Z.deleteBy", "additionalTextEdits": null, "filterText": null, "insertText": "deleteBy", "kind": 12, "label": "deleteBy" }, { "detail": "∀ a. Eq a ⇒ List a → List a → List a", "documentation": { "kind": "markdown", "value": "Delete the first occurrence of each element in the second list from the first list.\n\nRunning time: `O(n^2)`\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "difference", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "difference" }, "sortText": "Z.difference", "additionalTextEdits": null, "filterText": null, "insertText": "difference", "kind": 12, "label": "difference" }, { "detail": "∀ a. Int → List a → List a", "documentation": { "kind": "markdown", "value": "Delete an element from a list at the specified index, returning a new\nlist or `Nothing` if the index is out-of-bounds.\n\nThis function differs from the strict equivalent in that out-of-bounds arguments\nresult in the original list being returned unchanged.\n\nRunning time: `O(n)`\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "deleteAt", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "deleteAt" }, "sortText": "Z.deleteAt", "additionalTextEdits": null, "filterText": null, "insertText": "deleteAt", "kind": 12, "label": "deleteAt" }, { "detail": "∀ a. Int → List a → List a", "documentation": { "kind": "markdown", "value": "Drop the specified number of elements from the front of a list.\n\nRunning time: `O(n)` where `n` is the number of elements to drop.\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drop", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "drop" }, "sortText": "Z.drop", "additionalTextEdits": null, "filterText": null, "insertText": "drop", "kind": 12, "label": "drop" }, { "detail": "∀ a. (a → Boolean) → List a → List a", "documentation": { "kind": "markdown", "value": "Drop those elements from the front of a list which match a predicate.\n\nRunning time (worst case): `O(n)`\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropWhile", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "dropWhile" }, "sortText": "Z.dropWhile", "additionalTextEdits": null, "filterText": null, "insertText": "dropWhile", "kind": 12, "label": "dropWhile" }, { "detail": "∀ a. Eq a ⇒ a → List a → List a", "documentation": { "kind": "markdown", "value": "Delete the first occurrence of an element from a list.\n\nRunning time: `O(n)`\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "delete", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "delete" }, "sortText": "Z.delete", "additionalTextEdits": null, "filterText": null, "insertText": "delete", "kind": 12, "label": "delete" }, { "detail": "∀ a. (a → a → Boolean) → a → List a → List a", "documentation": { "kind": "markdown", "value": "Delete the first occurrence of an element from a list, using the specified\nfunction to determine equality of elements.\n\nRunning time: `O(n)`\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "deleteBy", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "deleteBy" }, "sortText": "Z.deleteBy", "additionalTextEdits": null, "filterText": null, "insertText": "deleteBy", "kind": 12, "label": "deleteBy" }, { "detail": "∀ a. Eq a ⇒ List a → List a → List a", "documentation": { "kind": "markdown", "value": "Delete the first occurrence of each element in the second list from the first list.\n\nRunning time: `O(n^2)`\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "difference", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "difference" }, "sortText": "Z.difference", "additionalTextEdits": null, "filterText": null, "insertText": "difference", "kind": 12, "label": "difference" }, { "detail": "∀ a. Int → NonEmptyList a → List a", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drop", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "drop" }, "sortText": "Z.drop", "additionalTextEdits": null, "filterText": null, "insertText": "drop", "kind": 12, "label": "drop" }, { "detail": "∀ a. (a → Boolean) → NonEmptyList a → List a", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropWhile", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "dropWhile" }, "sortText": "Z.dropWhile", "additionalTextEdits": null, "filterText": null, "insertText": "dropWhile", "kind": 12, "label": "dropWhile" }, { "detail": "∀ k v. Ord k ⇒ k → Map k v → Map k v", "documentation": { "kind": "markdown", "value": "Delete a key and its corresponding value from a map.\n\n*From: Data.Map*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "delete", "Data.Map", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "delete" }, "sortText": "Z.delete", "additionalTextEdits": null, "filterText": null, "insertText": "delete", "kind": 12, "label": "delete" }, { "detail": "∀ k v w. Ord k ⇒ Map k v → Map k w → Map k v", "documentation": { "kind": "markdown", "value": "Difference of two maps. Return elements of the first map where\nthe keys do not exist in the second map.\n\n*From: Data.Map*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "difference", "Data.Map", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "difference" }, "sortText": "Z.difference", "additionalTextEdits": null, "filterText": null, "insertText": "difference", "kind": 12, "label": "difference" }, { "detail": "∀ k v. Ord k ⇒ k → Map k v → Map k v", "documentation": { "kind": "markdown", "value": "Delete a key and its corresponding value from a map.\n\n*From: Data.Map.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "delete", "Data.Map.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "delete" }, "sortText": "Z.delete", "additionalTextEdits": null, "filterText": null, "insertText": "delete", "kind": 12, "label": "delete" }, { "detail": "∀ k v w. Ord k ⇒ Map k v → Map k w → Map k v", "documentation": { "kind": "markdown", "value": "Difference of two maps. Return elements of the first map where\nthe keys do not exist in the second map.\n\n*From: Data.Map.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "difference", "Data.Map.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "difference" }, "sortText": "Z.difference", "additionalTextEdits": null, "filterText": null, "insertText": "difference", "kind": 12, "label": "difference" }, { "detail": "∀ a. Ord a ⇒ a → Set a → Set a", "documentation": { "kind": "markdown", "value": "Delete a value from a set\n\n*From: Data.Set*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "delete", "Data.Set", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "delete" }, "sortText": "Z.delete", "additionalTextEdits": null, "filterText": null, "insertText": "delete", "kind": 12, "label": "delete" }, { "detail": "∀ a. Ord a ⇒ Set a → Set a → Set a", "documentation": { "kind": "markdown", "value": "Form the set difference\n\n*From: Data.Set*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "difference", "Data.Set", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "difference" }, "sortText": "Z.difference", "additionalTextEdits": null, "filterText": null, "insertText": "difference", "kind": 12, "label": "difference" }, { "detail": "∀ a. Ord a ⇒ a → NonEmptySet a → Maybe (NonEmptySet a)", "documentation": { "kind": "markdown", "value": "Delete a value from a non-empty set. If this would empty the set, the\nresult is `Nothing`.\n\n*From: Data.Set.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "delete", "Data.Set.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "delete" }, "sortText": "Z.delete", "additionalTextEdits": null, "filterText": null, "insertText": "delete", "kind": 12, "label": "delete" }, { "detail": "∀ a. Ord a ⇒ NonEmptySet a → NonEmptySet a → Maybe (NonEmptySet a)", "documentation": { "kind": "markdown", "value": "Form the set difference. `Nothing` if the first is a subset of the second.\n\n*From: Data.Set.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "difference", "Data.Set.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "difference" }, "sortText": "Z.difference", "additionalTextEdits": null, "filterText": null, "insertText": "difference", "kind": 12, "label": "difference" }, { "detail": "Int → String → String", "documentation": { "kind": "markdown", "value": "Drops the given number of code points from the beginning of the string. If\nthe string does not have that many code points, returns the empty string.\nOperates in constant space and in time linear to the given number.\n\n```purescript\n>>> drop 5 \"𝐀𝐀 b c\"\n\"c\"\n-- compared to Data.String:\n>>> drop 5 \"𝐀𝐀 b c\"\n\"b c\" -- because \"𝐀\" occupies 2 code units\n```\n\n\n*From: Data.String*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drop", "Data.String", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "drop" }, "sortText": "Z.drop", "additionalTextEdits": null, "filterText": null, "insertText": "drop", "kind": 12, "label": "drop" }, { "detail": "(CodePoint → Boolean) → String → String", "documentation": { "kind": "markdown", "value": "Drops the leading sequence of code points which all match the given\npredicate from the string. Operates in constant space and in time linear\nto the length of the string.\n\n```purescript\n>>> dropWhile (\\c -> codePointToInt c == 0x1D400) \"𝐀𝐀 b c 𝐀\"\n\" b c 𝐀\"\n```\n\n\n*From: Data.String*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropWhile", "Data.String", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "dropWhile" }, "sortText": "Z.dropWhile", "additionalTextEdits": null, "filterText": null, "insertText": "dropWhile", "kind": 12, "label": "dropWhile" }, { "detail": "Int → String → String", "documentation": { "kind": "markdown", "value": "Drops the given number of code points from the beginning of the string. If\nthe string does not have that many code points, returns the empty string.\nOperates in constant space and in time linear to the given number.\n\n```purescript\n>>> drop 5 \"𝐀𝐀 b c\"\n\"c\"\n-- compared to Data.String:\n>>> drop 5 \"𝐀𝐀 b c\"\n\"b c\" -- because \"𝐀\" occupies 2 code units\n```\n\n\n*From: Data.String.CodePoints*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drop", "Data.String.CodePoints", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "drop" }, "sortText": "Z.drop", "additionalTextEdits": null, "filterText": null, "insertText": "drop", "kind": 12, "label": "drop" }, { "detail": "(CodePoint → Boolean) → String → String", "documentation": { "kind": "markdown", "value": "Drops the leading sequence of code points which all match the given\npredicate from the string. Operates in constant space and in time linear\nto the length of the string.\n\n```purescript\n>>> dropWhile (\\c -> codePointToInt c == 0x1D400) \"𝐀𝐀 b c 𝐀\"\n\" b c 𝐀\"\n```\n\n\n*From: Data.String.CodePoints*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropWhile", "Data.String.CodePoints", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "dropWhile" }, "sortText": "Z.dropWhile", "additionalTextEdits": null, "filterText": null, "insertText": "dropWhile", "kind": 12, "label": "dropWhile" }, { "detail": "Int → String → String", "documentation": { "kind": "markdown", "value": "Returns the string without the first `n` characters.\n\n```purescript\ndrop 6 \"Hello World\" == \"World\"\n```\n\n\n*From: Data.String.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drop", "Data.String.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "drop" }, "sortText": "Z.drop", "additionalTextEdits": null, "filterText": null, "insertText": "drop", "kind": 12, "label": "drop" }, { "detail": "Int → String → String", "documentation": { "kind": "markdown", "value": "Returns the string without the last `n` characters.\n\n```purescript\ndropRight 6 \"Hello World\" == \"Hello\"\n```\n\n\n*From: Data.String.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropRight", "Data.String.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "dropRight" }, "sortText": "Z.dropRight", "additionalTextEdits": null, "filterText": null, "insertText": "dropRight", "kind": 12, "label": "dropRight" }, { "detail": "(Char → Boolean) → String → String", "documentation": { "kind": "markdown", "value": "Returns the suffix remaining after `takeWhile`.\n\n```purescript\ndropWhile (_ /= '.') \"Test.purs\" == \".purs\"\n```\n\n\n*From: Data.String.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropWhile", "Data.String.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "dropWhile" }, "sortText": "Z.dropWhile", "additionalTextEdits": null, "filterText": null, "insertText": "dropWhile", "kind": 12, "label": "dropWhile" }, { "detail": "Int → NonEmptyString → Maybe NonEmptyString", "documentation": { "kind": "markdown", "value": "\n*From: Data.String.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drop", "Data.String.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "drop" }, "sortText": "Z.drop", "additionalTextEdits": null, "filterText": null, "insertText": "drop", "kind": 12, "label": "drop" }, { "detail": "(CodePoint → Boolean) → NonEmptyString → Maybe NonEmptyString", "documentation": { "kind": "markdown", "value": "\n*From: Data.String.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropWhile", "Data.String.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "dropWhile" }, "sortText": "Z.dropWhile", "additionalTextEdits": null, "filterText": null, "insertText": "dropWhile", "kind": 12, "label": "dropWhile" }, { "detail": "Int → NonEmptyString → Maybe NonEmptyString", "documentation": { "kind": "markdown", "value": "\n*From: Data.String.NonEmpty.CodePoints*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drop", "Data.String.NonEmpty.CodePoints", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "drop" }, "sortText": "Z.drop", "additionalTextEdits": null, "filterText": null, "insertText": "drop", "kind": 12, "label": "drop" }, { "detail": "(CodePoint → Boolean) → NonEmptyString → Maybe NonEmptyString", "documentation": { "kind": "markdown", "value": "\n*From: Data.String.NonEmpty.CodePoints*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropWhile", "Data.String.NonEmpty.CodePoints", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "dropWhile" }, "sortText": "Z.dropWhile", "additionalTextEdits": null, "filterText": null, "insertText": "dropWhile", "kind": 12, "label": "dropWhile" }, { "detail": "Int → NonEmptyString → Maybe NonEmptyString", "documentation": { "kind": "markdown", "value": "Returns the string without the first `n` characters. Returns `Nothing` if\nmore characters are dropped than the string is long.\n\n```purescript\ndrop 6 (NonEmptyString \"Hello World\") == Just (NonEmptyString \"World\")\ndrop 20 (NonEmptyString \"Hello World\") == Nothing\n```\n\n*From: Data.String.NonEmpty.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drop", "Data.String.NonEmpty.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "drop" }, "sortText": "Z.drop", "additionalTextEdits": null, "filterText": null, "insertText": "drop", "kind": 12, "label": "drop" }, { "detail": "Int → NonEmptyString → Maybe NonEmptyString", "documentation": { "kind": "markdown", "value": "Returns the string without the last `n` characters. Returns `Nothing` if\nmore characters are dropped than the string is long.\n\n```purescript\ndropRight 6 (NonEmptyString \"Hello World\") == Just (NonEmptyString \"Hello\")\ndropRight 20 (NonEmptyString \"Hello World\") == Nothing\n```\n\n*From: Data.String.NonEmpty.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropRight", "Data.String.NonEmpty.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "dropRight" }, "sortText": "Z.dropRight", "additionalTextEdits": null, "filterText": null, "insertText": "dropRight", "kind": 12, "label": "dropRight" }, { "detail": "(Char → Boolean) → NonEmptyString → Maybe NonEmptyString", "documentation": { "kind": "markdown", "value": "Returns the suffix remaining after `takeWhile`.\n\n```purescript\ndropWhile (_ /= '.') (NonEmptyString \"Test.purs\") == Just (NonEmptyString \".purs\")\n```\n\n*From: Data.String.NonEmpty.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropWhile", "Data.String.NonEmpty.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "dropWhile" }, "sortText": "Z.dropWhile", "additionalTextEdits": null, "filterText": null, "insertText": "dropWhile", "kind": 12, "label": "dropWhile" }, { "detail": "∀ d. Duration d ⇒ Time → Time → d", "documentation": { "kind": "markdown", "value": "Calculates the difference between two times, returning the result as a\nduration.\n\n*From: Data.Time*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "diff", "Data.Time", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "diff" }, "sortText": "Z.diff", "additionalTextEdits": null, "filterText": null, "insertText": "diff", "kind": 12, "label": "diff" }, { "detail": "Milliseconds → Aff Unit", "documentation": { "kind": "markdown", "value": "Pauses the running fiber.\n\n*From: Effect.Aff*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "delay", "Effect.Aff", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "delay" }, "sortText": "Z.delay", "additionalTextEdits": null, "filterText": null, "insertText": "delay", "kind": 12, "label": "delay" }, { "detail": "String → Maybe String", "documentation": { "kind": "markdown", "value": "URI decoding. Returns `Nothing` when given a value with undecodeable\nescape sequences.\n\n*From: Global*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "decodeURI", "Global", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "decodeURI" }, "sortText": "Z.decodeURI", "additionalTextEdits": null, "filterText": null, "insertText": "decodeURI", "kind": 12, "label": "decodeURI" }, { "detail": "String → Maybe String", "documentation": { "kind": "markdown", "value": "URI component decoding. Returns `Nothing` when given a value with\nundecodeable escape sequences.\n\n*From: Global*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "decodeURIComponent", "Global", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "decodeURIComponent" }, "sortText": "Z.decodeURIComponent", "additionalTextEdits": null, "filterText": null, "insertText": "decodeURIComponent", "kind": 12, "label": "decodeURIComponent" }, { "detail": "WriteStreamOptions", "documentation": { "kind": "markdown", "value": "\n*From: Node.FS.Stream*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultWriteStreamOptions", "Node.FS.Stream", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "defaultWriteStreamOptions" }, "sortText": "Z.defaultWriteStreamOptions", "additionalTextEdits": null, "filterText": null, "insertText": "defaultWriteStreamOptions", "kind": 12, "label": "defaultWriteStreamOptions" }, { "detail": "ReadStreamOptions", "documentation": { "kind": "markdown", "value": "\n*From: Node.FS.Stream*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultReadStreamOptions", "Node.FS.Stream", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "defaultReadStreamOptions" }, "sortText": "Z.defaultReadStreamOptions", "additionalTextEdits": null, "filterText": null, "insertText": "defaultReadStreamOptions", "kind": 12, "label": "defaultReadStreamOptions" }, { "detail": "FilePath → FilePath", "documentation": { "kind": "markdown", "value": "Return the directory name of a path.\n\n*From: Node.Path*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dirname", "Node.Path", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "dirname" }, "sortText": "Z.dirname", "additionalTextEdits": null, "filterText": null, "insertText": "dirname", "kind": 12, "label": "dirname" }, { "detail": "String", "documentation": { "kind": "markdown", "value": "The platform-specific path delimiter, `;` or `:`.\n\n*From: Node.Path*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "delimiter", "Node.Path", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "delimiter" }, "sortText": "Z.delimiter", "additionalTextEdits": null, "filterText": null, "insertText": "delimiter", "kind": 12, "label": "delimiter" }, { "detail": "∀ r. Stream r → Effect Unit", "documentation": { "kind": "markdown", "value": "Destroy the stream. It will release any internal resources.\n\n*From: Node.Stream*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "destroy", "Node.Stream", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "destroy" }, "sortText": "Z.destroy", "additionalTextEdits": null, "filterText": null, "insertText": "destroy", "kind": 12, "label": "destroy" }, { "detail": "∀ a m. Monad m ⇒ a → m Unit", "documentation": { "kind": "markdown", "value": "Discards a value\n\n*From: Pipes*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "discard", "Pipes", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "discard" }, "sortText": "Z.discard", "additionalTextEdits": null, "filterText": null, "insertText": "discard", "kind": 12, "label": "discard" }, { "detail": "∀ a m r. Monad m ⇒ Consumer_ a m r", "documentation": { "kind": "markdown", "value": "`discard` all incoming values\n\n*From: Pipes.Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drain", "Pipes.Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "drain" }, "sortText": "Z.drain", "additionalTextEdits": null, "filterText": null, "insertText": "drain", "kind": 12, "label": "drain" }, { "detail": "∀ a m r. Monad m ⇒ Int → Pipe a a m r", "documentation": { "kind": "markdown", "value": "drop discards n values going downstream\n\n*From: Pipes.Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drop", "Pipes.Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "drop" }, "sortText": "Z.drop", "additionalTextEdits": null, "filterText": null, "insertText": "drop", "kind": 12, "label": "drop" }, { "detail": "∀ a m r. Monad m ⇒ (a → Boolean) → Pipe a a m r", "documentation": { "kind": "markdown", "value": "dropWhile discards values going downstream until one violates the\n\n*From: Pipes.Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropWhile", "Pipes.Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "dropWhile" }, "sortText": "Z.dropWhile", "additionalTextEdits": null, "filterText": null, "insertText": "dropWhile", "kind": 12, "label": "dropWhile" }, { "detail": "∀ a. EuclideanRing a ⇒ a → Int", "documentation": { "kind": "markdown", "value": "\n*From: Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "degree", "Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "degree" }, "sortText": "Z.degree", "additionalTextEdits": null, "filterText": null, "insertText": "degree", "kind": 12, "label": "degree" }, { "detail": "∀ f b a. Discard a ⇒ Bind f ⇒ f a → (a → f b) → f b", "documentation": { "kind": "markdown", "value": "\n*From: Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "discard", "Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "discard" }, "sortText": "Z.discard", "additionalTextEdits": null, "filterText": null, "insertText": "discard", "kind": 12, "label": "discard" }, { "detail": "∀ a. HeytingAlgebra a ⇒ a → a → a", "documentation": { "kind": "markdown", "value": "\n*From: Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "disj", "Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "disj" }, "sortText": "Z.disj", "additionalTextEdits": null, "filterText": null, "insertText": "disj", "kind": 12, "label": "disj" }, { "detail": "∀ a. EuclideanRing a ⇒ a → a → a", "documentation": { "kind": "markdown", "value": "\n*From: Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "div", "Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "div" }, "sortText": "Z.div", "additionalTextEdits": null, "filterText": null, "insertText": "div", "kind": 12, "label": "div" }, { "detail": "∀ r1 r2 l a. IsSymbol l ⇒ Lacks l r1 ⇒ Cons l a r1 r2 ⇒ SProxy l → Record r2 → Record r1", "documentation": { "kind": "markdown", "value": "Delete a property for a label which is specified using a value-level proxy for\na type-level string.\n\nNote that the type of the resulting row must _lack_ the specified property.\nSince duplicate labels are allowed, this is checked with a type class constraint.\n\nFor example:\n\n```purescript\ndelete (SProxy :: SProxy \"x\")\n :: forall r a. Lacks \"x\" r => { x :: a | r } -> { | r }\n```\n\n*From: Record*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "delete", "Record", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "delete" }, "sortText": "Z.delete", "additionalTextEdits": null, "filterText": null, "insertText": "delete", "kind": 12, "label": "delete" }, { "detail": "∀ r1 r2 r3. Union r1 r2 r3 ⇒ Nub r3 r3 ⇒ Record r1 → Record r2 → Record r3", "documentation": { "kind": "markdown", "value": "Merges two records where no labels overlap. This restriction exhibits\nbetter inference than `merge` when the resulting record type is known,\nbut one argument is not.\n\nFor example, hole `?help` is inferred to have type `{ b :: Int }` here:\n\n```purescript\ndisjoinUnion { a: 5 } ?help :: { a :: Int, b :: Int }\n```\n\n*From: Record*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "disjointUnion", "Record", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "disjointUnion" }, "sortText": "Z.disjointUnion", "additionalTextEdits": null, "filterText": null, "insertText": "disjointUnion", "kind": 12, "label": "disjointUnion" }, { "detail": "∀ l a r1 r2. IsSymbol l ⇒ Lacks l r1 ⇒ Cons l a r1 r2 ⇒ SProxy l → Builder (Record r2) (Record r1)", "documentation": { "kind": "markdown", "value": "Build by deleting an existing field.\n\n*From: Record.Builder*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "delete", "Record.Builder", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "delete" }, "sortText": "Z.delete", "additionalTextEdits": null, "filterText": null, "insertText": "delete", "kind": 12, "label": "delete" }, { "detail": "∀ r1 r2 r3. Union r1 r2 r3 ⇒ Nub r3 r3 ⇒ Record r1 → Builder (Record r2) (Record r3)", "documentation": { "kind": "markdown", "value": "Build by merging some disjoint set of fields from another record.\n\n*From: Record.Builder*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "disjointUnion", "Record.Builder", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "disjointUnion" }, "sortText": "Z.disjointUnion", "additionalTextEdits": null, "filterText": null, "insertText": "disjointUnion", "kind": 12, "label": "disjointUnion" }, { "detail": "∀ m g i a. FocusWarning ⇒ Monad m ⇒ String → SpecT g i m a → SpecT g i m a", "documentation": { "kind": "markdown", "value": "Combine a group of specs into a described hierarchy and mark it as the\nonly group to actually be evaluated. (useful for quickly narrowing down\non a set)\n\n*From: Test.Spec*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "describeOnly", "Test.Spec", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "describeOnly" }, "sortText": "Z.describeOnly", "additionalTextEdits": null, "filterText": null, "insertText": "describeOnly", "kind": 12, "label": "describeOnly" }, { "detail": "∀ m g i a. Monad m ⇒ String → SpecT g i m a → SpecT g i m a", "documentation": { "kind": "markdown", "value": "Combine a group of specs into a described hierarchy.\n\n*From: Test.Spec*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "describe", "Test.Spec", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "describe" }, "sortText": "Z.describe", "additionalTextEdits": null, "filterText": null, "insertText": "describe", "kind": 12, "label": "describe" }, { "detail": "∀ m. MonadEffect m ⇒ String → m (Spec Unit)", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Discovery*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "discover", "Test.Spec.Discovery", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "discover" }, "sortText": "Z.discover", "additionalTextEdits": null, "filterText": null, "insertText": "discover", "kind": 12, "label": "discover" }, { "detail": "∀ s. s → (Event → StateT s (Writer String) Unit) → Reporter", "documentation": { "kind": "markdown", "value": "A default reporter implementation that can be used as a base to build\nother reporters on top of.\n\n*From: Test.Spec.Reporter*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultReporter", "Test.Spec.Reporter", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "defaultReporter" }, "sortText": "Z.defaultReporter", "additionalTextEdits": null, "filterText": null, "insertText": "defaultReporter", "kind": 12, "label": "defaultReporter" }, { "detail": "∀ m. MonadWriter String m ⇒ Array (Tree Void Result) → m Unit", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Reporter*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultSummary", "Test.Spec.Reporter", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "defaultSummary" }, "sortText": "Z.defaultSummary", "additionalTextEdits": null, "filterText": null, "insertText": "defaultSummary", "kind": 12, "label": "defaultSummary" }, { "detail": "∀ s. { getRunningItems ∷ s -> Map Path RunningItem , printFinishedItem ∷ Path -> RunningItem -> StateT s (Writer String) Unit , putRunningItems ∷ Map Path RunningItem -> s -> s , update ∷ Event -> StateT s (Writer String) Unit } → (Event → StateT s (Writer String) Unit)", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Reporter*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultUpdate", "Test.Spec.Reporter", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "defaultUpdate" }, "sortText": "Z.defaultUpdate", "additionalTextEdits": null, "filterText": null, "insertText": "defaultUpdate", "kind": 3, "label": "defaultUpdate" }, { "detail": "DotReporterConfig → Reporter", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Reporter*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dotReporter", "Test.Spec.Reporter", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "dotReporter" }, "sortText": "Z.dotReporter", "additionalTextEdits": null, "filterText": null, "insertText": "dotReporter", "kind": 12, "label": "dotReporter" }, { "detail": "∀ m. MonadWriter String m ⇒ Array (Tree Void Result) → m Unit", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Reporter.Base*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultSummary", "Test.Spec.Reporter.Base", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "defaultSummary" }, "sortText": "Z.defaultSummary", "additionalTextEdits": null, "filterText": null, "insertText": "defaultSummary", "kind": 12, "label": "defaultSummary" }, { "detail": "∀ s. s → (Event → StateT s (Writer String) Unit) → Reporter", "documentation": { "kind": "markdown", "value": "A default reporter implementation that can be used as a base to build\nother reporters on top of.\n\n*From: Test.Spec.Reporter.Base*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultReporter", "Test.Spec.Reporter.Base", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "defaultReporter" }, "sortText": "Z.defaultReporter", "additionalTextEdits": null, "filterText": null, "insertText": "defaultReporter", "kind": 12, "label": "defaultReporter" }, { "detail": "∀ s. { getRunningItems ∷ s -> Map Path RunningItem , printFinishedItem ∷ Path -> RunningItem -> StateT s (Writer String) Unit , putRunningItems ∷ Map Path RunningItem -> s -> s , update ∷ Event -> StateT s (Writer String) Unit } → (Event → StateT s (Writer String) Unit)", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Reporter.Base*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultUpdate", "Test.Spec.Reporter.Base", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "defaultUpdate" }, "sortText": "Z.defaultUpdate", "additionalTextEdits": null, "filterText": null, "insertText": "defaultUpdate", "kind": 3, "label": "defaultUpdate" }, { "detail": "DotReporterConfig → Reporter", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Reporter.Dot*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dotReporter", "Test.Spec.Reporter.Dot", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "dotReporter" }, "sortText": "Z.dotReporter", "additionalTextEdits": null, "filterText": null, "insertText": "dotReporter", "kind": 12, "label": "dotReporter" }, { "detail": "Config", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Runner*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultConfig", "Test.Spec.Runner", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "defaultConfig" }, "sortText": "Z.defaultConfig", "additionalTextEdits": null, "filterText": null, "insertText": "defaultConfig", "kind": 12, "label": "defaultConfig" }, { "detail": "Style", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Style*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dim", "Test.Spec.Style", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "dim" }, "sortText": "Z.dim", "additionalTextEdits": null, "filterText": null, "insertText": "dim", "kind": 12, "label": "dim" }, { "detail": "∀ c m a. Array (Tree c (Item m a)) → Array (Tree c (Item m a))", "documentation": { "kind": "markdown", "value": "If there is at least one focused element, all paths which don't\nlead to a focused element will be remove. otherwise input will\nbe returned as unchanged.\n\n*From: Test.Spec.Tree*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "discardUnfocused", "Test.Spec.Tree", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "discardUnfocused" }, "sortText": "Z.discardUnfocused", "additionalTextEdits": null, "filterText": null, "insertText": "discardUnfocused", "kind": 12, "label": "discardUnfocused" }, { "detail": "∀ a. Ring a ⇒ a → a", "documentation": { "kind": "markdown", "value": "Subtracts one from input\n\n*From: Utils.Math*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dec", "Utils.Math", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "dec" }, "sortText": "Z.dec", "additionalTextEdits": null, "filterText": null, "insertText": "dec", "kind": 12, "label": "dec" }, { "detail": "∀ a. EuclideanRing a ⇒ Eq a ⇒ a → a → Boolean", "documentation": { "kind": "markdown", "value": "Checks if a number is divisible by another number\n```purescript\n> 10 `divisibleBy` 2\ntrue\n\n> 10 `divisibleBy` 3\nfalse\n```\n\n*From: Utils.Math*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "divisibleBy", "Utils.Math", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 27, "line": 7 }, "end": { "line": 7, "character": 28 } }, "newText": "divisibleBy" }, "sortText": "Z.divisibleBy", "additionalTextEdits": null, "filterText": null, "insertText": "divisibleBy", "kind": 12, "label": "divisibleBy" } ], "isIncomplete": false } [Trace - 4:16:46 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 51 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec)\n\nspec :: Spec Unit\nspec = describe \"Problems\" do\n \n" } ] } [Trace - 4:16:46 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 52 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec)\n\nspec :: Spec Unit\nspec = describe \"Problems\" do\n d\n" } ] } [Trace - 4:16:46 PM] Sending request 'textDocument/completion - (30)'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" }, "position": { "line": 8, "character": 3 }, "context": { "triggerKind": 1 } } [Trace - 4:16:46 PM] Received notification 'window/logMessage'. Params: { "type": 3, "message": "[Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead\n" } [Info - 4:16:46 PM] [Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead [Trace - 4:16:46 PM] Received response 'textDocument/completion - (30)' in 31ms. Result: { "items": [ { "detail": "NonEmptyList GraphicsParam", "documentation": { "kind": "markdown", "value": "\n*From: Ansi.Output*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dim", "Ansi.Output", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "dim" }, "sortText": "Z.dim", "additionalTextEdits": null, "filterText": null, "insertText": "dim", "kind": 12, "label": "dim" }, { "detail": "∀ f b a. Discard a ⇒ Bind f ⇒ f a → (a → f b) → f b", "documentation": { "kind": "markdown", "value": "\n*From: Control.Bind*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "discard", "Control.Bind", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "discard" }, "sortText": "Z.discard", "additionalTextEdits": null, "filterText": null, "insertText": "discard", "kind": 12, "label": "discard" }, { "detail": "∀ a w. Extend w ⇒ w a → w (w a)", "documentation": { "kind": "markdown", "value": "Duplicate a comonadic context.\n\n`duplicate` is dual to `Control.Bind.join`.\n\n*From: Control.Comonad*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "duplicate", "Control.Comonad", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "duplicate" }, "sortText": "Z.duplicate", "additionalTextEdits": null, "filterText": null, "insertText": "duplicate", "kind": 12, "label": "duplicate" }, { "detail": "∀ f a. (Unit → Tuple a (f (Cofree f a))) → Cofree f a", "documentation": { "kind": "markdown", "value": "Lazily creates a value of type `Cofree f a` from a label and a\nfunctor-full of \"subtrees\".\n\n*From: Control.Comonad.Cofree*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "deferCofree", "Control.Comonad.Cofree", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "deferCofree" }, "sortText": "Z.deferCofree", "additionalTextEdits": null, "filterText": null, "insertText": "deferCofree", "kind": 12, "label": "deferCofree" }, { "detail": "∀ a w. Extend w ⇒ w a → w (w a)", "documentation": { "kind": "markdown", "value": "Duplicate a comonadic context.\n\n`duplicate` is dual to `Control.Bind.join`.\n\n*From: Control.Extend*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "duplicate", "Control.Extend", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "duplicate" }, "sortText": "Z.duplicate", "additionalTextEdits": null, "filterText": null, "insertText": "duplicate", "kind": 12, "label": "duplicate" }, { "detail": "∀ l. Lazy l ⇒ (Unit → l) → l", "documentation": { "kind": "markdown", "value": "\n*From: Control.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defer", "Control.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "defer" }, "sortText": "Z.defer", "additionalTextEdits": null, "filterText": null, "insertText": "defer", "kind": 12, "label": "defer" }, { "detail": "∀ f a. Applicative f ⇒ Int → ListT f a → ListT f a", "documentation": { "kind": "markdown", "value": "Drop a number of elements from the front of a list.\n\n*From: Control.Monad.List.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drop", "Control.Monad.List.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "drop" }, "sortText": "Z.drop", "additionalTextEdits": null, "filterText": null, "insertText": "drop", "kind": 12, "label": "drop" }, { "detail": "∀ f a. Applicative f ⇒ (a → Boolean) → ListT f a → ListT f a", "documentation": { "kind": "markdown", "value": "Drop elements from the front of a list while a predicate holds.\n\n*From: Control.Monad.List.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropWhile", "Control.Monad.List.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "dropWhile" }, "sortText": "Z.dropWhile", "additionalTextEdits": null, "filterText": null, "insertText": "dropWhile", "kind": 12, "label": "dropWhile" }, { "detail": "∀ a. a → Trampoline a", "documentation": { "kind": "markdown", "value": "Return a value immediately\n\n*From: Control.Monad.Trampoline*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "done", "Control.Monad.Trampoline", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "done" }, "sortText": "Z.done", "additionalTextEdits": null, "filterText": null, "insertText": "done", "kind": 12, "label": "done" }, { "detail": "∀ a. (Unit → a) → Trampoline a", "documentation": { "kind": "markdown", "value": "Use the `Trampoline` monad to represent the delayed evaluation of a value.\n\n*From: Control.Monad.Trampoline*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "delay", "Control.Monad.Trampoline", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "delay" }, "sortText": "Z.delay", "additionalTextEdits": null, "filterText": null, "insertText": "delay", "kind": 12, "label": "delay" }, { "detail": "∀ a. Int → Array a → Maybe (Array a)", "documentation": { "kind": "markdown", "value": "Delete the element at the specified index, creating a new array, or\nreturning `Nothing` if the index is out of bounds.\n\n```purescript\ndeleteAt 0 [\"Hello\", \"World\"] = Just [\"World\"]\ndeleteAt 10 [\"Hello\", \"World\"] = Nothing\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "deleteAt", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "deleteAt" }, "sortText": "Z.deleteAt", "additionalTextEdits": null, "filterText": null, "insertText": "deleteAt", "kind": 12, "label": "deleteAt" }, { "detail": "∀ a. Int → Array a → Array a", "documentation": { "kind": "markdown", "value": "Drop a number of elements from the start of an array, creating a new array.\n\n```purescript\nletters = [\"a\", \"b\", \"c\", \"d\"]\n\ndrop 2 letters = [\"c\", \"d\"]\ndrop 10 letters = []\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drop", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "drop" }, "sortText": "Z.drop", "additionalTextEdits": null, "filterText": null, "insertText": "drop", "kind": 12, "label": "drop" }, { "detail": "∀ a. Int → Array a → Array a", "documentation": { "kind": "markdown", "value": "Drop a number of elements from the end of an array, creating a new array.\n\n```purescript\nletters = [\"a\", \"b\", \"c\", \"d\"]\n\ndropEnd 2 letters = [\"a\", \"b\"]\ndropEnd 10 letters = []\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropEnd", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "dropEnd" }, "sortText": "Z.dropEnd", "additionalTextEdits": null, "filterText": null, "insertText": "dropEnd", "kind": 12, "label": "dropEnd" }, { "detail": "∀ a. (a → Boolean) → Array a → Array a", "documentation": { "kind": "markdown", "value": "Remove the longest initial subarray for which all element satisfy the\nspecified predicate, creating a new array.\n\n```purescript\ndropWhile (_ < 0) [-3, -1, 0, 4, -6] = [0, 4, -6]\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropWhile", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "dropWhile" }, "sortText": "Z.dropWhile", "additionalTextEdits": null, "filterText": null, "insertText": "dropWhile", "kind": 12, "label": "dropWhile" }, { "detail": "∀ a. Eq a ⇒ a → Array a → Array a", "documentation": { "kind": "markdown", "value": "Delete the first element of an array which is equal to the specified value,\ncreating a new array.\n\n```purescript\ndelete 7 [1, 7, 3, 7] = [1, 3, 7]\ndelete 7 [1, 2, 3] = [1, 2, 3]\n```\n\nRunning time: `O(n)`\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "delete", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "delete" }, "sortText": "Z.delete", "additionalTextEdits": null, "filterText": null, "insertText": "delete", "kind": 12, "label": "delete" }, { "detail": "∀ a. (a → a → Boolean) → a → Array a → Array a", "documentation": { "kind": "markdown", "value": "Delete the first element of an array which matches the specified value,\nunder the equivalence relation provided in the first argument, creating a\nnew array.\n\n```purescript\nmod3eq a b = a `mod` 3 == b `mod` 3\ndeleteBy mod3eq 6 [1, 3, 4, 3] = [1, 4, 3]\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "deleteBy", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "deleteBy" }, "sortText": "Z.deleteBy", "additionalTextEdits": null, "filterText": null, "insertText": "deleteBy", "kind": 12, "label": "deleteBy" }, { "detail": "∀ a. Eq a ⇒ Array a → Array a → Array a", "documentation": { "kind": "markdown", "value": "Delete the first occurrence of each element in the second array from the\nfirst array, creating a new array.\n\n```purescript\ndifference [2, 1] [2, 3] = [1]\n```\n\nRunning time: `O(n*m)`, where n is the length of the first array, and m is\nthe length of the second.\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "difference", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "difference" }, "sortText": "Z.difference", "additionalTextEdits": null, "filterText": null, "insertText": "difference", "kind": 12, "label": "difference" }, { "detail": "∀ a. Int → NonEmptyArray a → Maybe (Array a)", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "deleteAt", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "deleteAt" }, "sortText": "Z.deleteAt", "additionalTextEdits": null, "filterText": null, "insertText": "deleteAt", "kind": 12, "label": "deleteAt" }, { "detail": "∀ a. Int → NonEmptyArray a → Array a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drop", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "drop" }, "sortText": "Z.drop", "additionalTextEdits": null, "filterText": null, "insertText": "drop", "kind": 12, "label": "drop" }, { "detail": "∀ a. Int → NonEmptyArray a → Array a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropEnd", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "dropEnd" }, "sortText": "Z.dropEnd", "additionalTextEdits": null, "filterText": null, "insertText": "dropEnd", "kind": 12, "label": "dropEnd" }, { "detail": "∀ a. (a → Boolean) → NonEmptyArray a → Array a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropWhile", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "dropWhile" }, "sortText": "Z.dropWhile", "additionalTextEdits": null, "filterText": null, "insertText": "dropWhile", "kind": 12, "label": "dropWhile" }, { "detail": "∀ a. Eq a ⇒ a → NonEmptyArray a → Array a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "delete", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "delete" }, "sortText": "Z.delete", "additionalTextEdits": null, "filterText": null, "insertText": "delete", "kind": 12, "label": "delete" }, { "detail": "∀ a. (a → a → Boolean) → a → NonEmptyArray a → Array a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "deleteBy", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "deleteBy" }, "sortText": "Z.deleteBy", "additionalTextEdits": null, "filterText": null, "insertText": "deleteBy", "kind": 12, "label": "deleteBy" }, { "detail": "∀ a. Eq a ⇒ NonEmptyArray a → NonEmptyArray a → Array a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "difference", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "difference" }, "sortText": "Z.difference", "additionalTextEdits": null, "filterText": null, "insertText": "difference", "kind": 12, "label": "difference" }, { "detail": "∀ a. Eq a ⇒ NonEmptyArray a → Array a → Array a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "difference'", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "difference'" }, "sortText": "Z.difference'", "additionalTextEdits": null, "filterText": null, "insertText": "difference'", "kind": 12, "label": "difference'" }, { "detail": "Int → BigInt → BaseDigits", "documentation": { "kind": "markdown", "value": "A base N representation of the `BigInt` as an array of digits.\n\n*From: Data.BigInt*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "digitsInBase", "Data.BigInt", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "digitsInBase" }, "sortText": "Z.digitsInBase", "additionalTextEdits": null, "filterText": null, "insertText": "digitsInBase", "kind": 12, "label": "digitsInBase" }, { "detail": "∀ a. HeytingAlgebra a ⇒ a → a → a", "documentation": { "kind": "markdown", "value": "\n*From: Data.BooleanAlgebra*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "disj", "Data.BooleanAlgebra", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "disj" }, "sortText": "Z.disj", "additionalTextEdits": null, "filterText": null, "insertText": "disj", "kind": 12, "label": "disj" }, { "detail": "∀ a. Ord a ⇒ Comparison a", "documentation": { "kind": "markdown", "value": "The default comparison for any values with an `Ord` instance.\n\n*From: Data.Comparison*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultComparison", "Data.Comparison", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "defaultComparison" }, "sortText": "Z.defaultComparison", "additionalTextEdits": null, "filterText": null, "insertText": "defaultComparison", "kind": 12, "label": "defaultComparison" }, { "detail": "Date → Day", "documentation": { "kind": "markdown", "value": "The day component of a date value.\n\n*From: Data.Date*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "day", "Data.Date", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "day" }, "sortText": "Z.day", "additionalTextEdits": null, "filterText": null, "insertText": "day", "kind": 12, "label": "day" }, { "detail": "∀ d. Duration d ⇒ Date → Date → d", "documentation": { "kind": "markdown", "value": "Calculates the difference between two dates, returning the result as a\nduration.\n\n*From: Data.Date*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "diff", "Data.Date", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "diff" }, "sortText": "Z.diff", "additionalTextEdits": null, "filterText": null, "insertText": "diff", "kind": 12, "label": "diff" }, { "detail": "DateTime → Date", "documentation": { "kind": "markdown", "value": "\n*From: Data.DateTime*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "date", "Data.DateTime", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "date" }, "sortText": "Z.date", "additionalTextEdits": null, "filterText": null, "insertText": "date", "kind": 12, "label": "date" }, { "detail": "∀ d. Duration d ⇒ DateTime → DateTime → d", "documentation": { "kind": "markdown", "value": "Calculates the difference between two date/time values, returning the\nresult as a duration.\n\n*From: Data.DateTime*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "diff", "Data.DateTime", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "diff" }, "sortText": "Z.diff", "additionalTextEdits": null, "filterText": null, "insertText": "diff", "kind": 12, "label": "diff" }, { "detail": "Date → Day", "documentation": { "kind": "markdown", "value": "The day component of a date value.\n\n*From: Data.DateTime*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "day", "Data.DateTime", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "day" }, "sortText": "Z.day", "additionalTextEdits": null, "filterText": null, "insertText": "day", "kind": 12, "label": "day" }, { "detail": "∀ a g f. Distributive f ⇒ Functor g ⇒ g (f a) → f (g a)", "documentation": { "kind": "markdown", "value": "\n*From: Data.Distributive*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "distribute", "Data.Distributive", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "distribute" }, "sortText": "Z.distribute", "additionalTextEdits": null, "filterText": null, "insertText": "distribute", "kind": 12, "label": "distribute" }, { "detail": "∀ a f g. Distributive f ⇒ Functor g ⇒ g (f a) → f (g a)", "documentation": { "kind": "markdown", "value": "A default implementation of `distribute`, based on `collect`.\n\n*From: Data.Distributive*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "distributeDefault", "Data.Distributive", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "distributeDefault" }, "sortText": "Z.distributeDefault", "additionalTextEdits": null, "filterText": null, "insertText": "distributeDefault", "kind": 12, "label": "distributeDefault" }, { "detail": "∀ a b c f. Divide f ⇒ (a → Tuple b c) → f b → f c → f a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Divide*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "divide", "Data.Divide", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "divide" }, "sortText": "Z.divide", "additionalTextEdits": null, "filterText": null, "insertText": "divide", "kind": 12, "label": "divide" }, { "detail": "∀ f a b. Divide f ⇒ f a → f b → f (Tuple a b)", "documentation": { "kind": "markdown", "value": "`divided = divide id`\n\n*From: Data.Divide*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "divided", "Data.Divide", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "divided" }, "sortText": "Z.divided", "additionalTextEdits": null, "filterText": null, "insertText": "divided", "kind": 12, "label": "divided" }, { "detail": "∀ a u. Enum a ⇒ Unfoldable u ⇒ a → u a", "documentation": { "kind": "markdown", "value": "Produces all predecessors of an `Enum` value, excluding the start value.\n\n*From: Data.Enum*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "downFrom", "Data.Enum", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "downFrom" }, "sortText": "Z.downFrom", "additionalTextEdits": null, "filterText": null, "insertText": "downFrom", "kind": 12, "label": "downFrom" }, { "detail": "∀ a u. Enum a ⇒ Unfoldable1 u ⇒ a → u a", "documentation": { "kind": "markdown", "value": "Produces all predecessors of an `Enum` value, including the start value.\n\n`downFromIncluding top` will return all values in an `Enum`, in reverse\norder.\n\n*From: Data.Enum*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "downFromIncluding", "Data.Enum", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "downFromIncluding" }, "sortText": "Z.downFromIncluding", "additionalTextEdits": null, "filterText": null, "insertText": "downFromIncluding", "kind": 12, "label": "downFromIncluding" }, { "detail": "∀ a. (Int → Maybe a) → (a → Int) → a → Maybe a", "documentation": { "kind": "markdown", "value": "Provides a default implementation for `succ`, given a function that maps\nintegers to values in the `Enum`, and a function that maps values in the\n`Enum` back to integers. The integer mapping must agree in both directions\nfor this to implement a law-abiding `succ`.\n\nIf a `BoundedEnum` instance exists for `a`, the `toEnum` and `fromEnum`\nfunctions can be used here:\n\n``` purescript\nsucc = defaultSucc toEnum fromEnum\n```\n\n*From: Data.Enum*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultSucc", "Data.Enum", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "defaultSucc" }, "sortText": "Z.defaultSucc", "additionalTextEdits": null, "filterText": null, "insertText": "defaultSucc", "kind": 12, "label": "defaultSucc" }, { "detail": "∀ a. (Int → Maybe a) → (a → Int) → a → Maybe a", "documentation": { "kind": "markdown", "value": "Provides a default implementation for `pred`, given a function that maps\nintegers to values in the `Enum`, and a function that maps values in the\n`Enum` back to integers. The integer mapping must agree in both directions\nfor this to implement a law-abiding `pred`.\n\nIf a `BoundedEnum` instance exists for `a`, the `toEnum` and `fromEnum`\nfunctions can be used here:\n\n``` purescript\npred = defaultPred toEnum fromEnum\n```\n\n*From: Data.Enum*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultPred", "Data.Enum", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "defaultPred" }, "sortText": "Z.defaultPred", "additionalTextEdits": null, "filterText": null, "insertText": "defaultPred", "kind": 12, "label": "defaultPred" }, { "detail": "∀ a. Bounded a ⇒ Enum a ⇒ Cardinality a", "documentation": { "kind": "markdown", "value": "Provides a default implementation for `cardinality`.\n\nRuns in `O(n)` where `n` is `fromEnum top`\n\n*From: Data.Enum*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultCardinality", "Data.Enum", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "defaultCardinality" }, "sortText": "Z.defaultCardinality", "additionalTextEdits": null, "filterText": null, "insertText": "defaultCardinality", "kind": 12, "label": "defaultCardinality" }, { "detail": "∀ a. Bounded a ⇒ Enum a ⇒ Int → Maybe a", "documentation": { "kind": "markdown", "value": "Provides a default implementation for `toEnum`.\n\n- Assumes `fromEnum bottom = 0`.\n- Cannot be used in conjuction with `defaultSucc`.\n\nRuns in `O(n)` where `n` is `fromEnum a`.\n\n*From: Data.Enum*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultToEnum", "Data.Enum", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "defaultToEnum" }, "sortText": "Z.defaultToEnum", "additionalTextEdits": null, "filterText": null, "insertText": "defaultToEnum", "kind": 12, "label": "defaultToEnum" }, { "detail": "∀ a. Enum a ⇒ a → Int", "documentation": { "kind": "markdown", "value": "Provides a default implementation for `fromEnum`.\n\n- Assumes `toEnum 0 = Just bottom`.\n- Cannot be used in conjuction with `defaultPred`.\n\nRuns in `O(n)` where `n` is `fromEnum a`.\n\n*From: Data.Enum*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultFromEnum", "Data.Enum", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "defaultFromEnum" }, "sortText": "Z.defaultFromEnum", "additionalTextEdits": null, "filterText": null, "insertText": "defaultFromEnum", "kind": 12, "label": "defaultFromEnum" }, { "detail": "∀ a. Eq a ⇒ Equivalence a", "documentation": { "kind": "markdown", "value": "The default equivalence relation for any values with an `Eq` instance.\n\n*From: Data.Equivalence*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultEquivalence", "Data.Equivalence", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "defaultEquivalence" }, "sortText": "Z.defaultEquivalence", "additionalTextEdits": null, "filterText": null, "insertText": "defaultEquivalence", "kind": 12, "label": "defaultEquivalence" }, { "detail": "∀ a. EuclideanRing a ⇒ a → Int", "documentation": { "kind": "markdown", "value": "\n*From: Data.EuclideanRing*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "degree", "Data.EuclideanRing", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "degree" }, "sortText": "Z.degree", "additionalTextEdits": null, "filterText": null, "insertText": "degree", "kind": 12, "label": "degree" }, { "detail": "∀ a. EuclideanRing a ⇒ a → a → a", "documentation": { "kind": "markdown", "value": "\n*From: Data.EuclideanRing*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "div", "Data.EuclideanRing", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "div" }, "sortText": "Z.div", "additionalTextEdits": null, "filterText": null, "insertText": "div", "kind": 12, "label": "div" }, { "detail": "∀ a. EuclideanRing a ⇒ a → Int", "documentation": { "kind": "markdown", "value": "\n*From: Data.Field*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "degree", "Data.Field", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "degree" }, "sortText": "Z.degree", "additionalTextEdits": null, "filterText": null, "insertText": "degree", "kind": 12, "label": "degree" }, { "detail": "∀ a. EuclideanRing a ⇒ a → a → a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Field*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "div", "Data.Field", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "div" }, "sortText": "Z.div", "additionalTextEdits": null, "filterText": null, "insertText": "div", "kind": 12, "label": "div" }, { "detail": "∀ a. HeytingAlgebra a ⇒ a → a → a", "documentation": { "kind": "markdown", "value": "\n*From: Data.HeytingAlgebra*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "disj", "Data.HeytingAlgebra", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "disj" }, "sortText": "Z.disj", "additionalTextEdits": null, "filterText": null, "insertText": "disj", "kind": 12, "label": "disj" }, { "detail": "∀ subrow row rowlist. HeytingAlgebraRecord rowlist row subrow ⇒ RLProxy rowlist → Record row → Record row → Record subrow", "documentation": { "kind": "markdown", "value": "\n*From: Data.HeytingAlgebra*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "disjRecord", "Data.HeytingAlgebra", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "disjRecord" }, "sortText": "Z.disjRecord", "additionalTextEdits": null, "filterText": null, "insertText": "disjRecord", "kind": 12, "label": "disjRecord" }, { "detail": "Radix", "documentation": { "kind": "markdown", "value": "The base-10 system.\n\n*From: Data.Int*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "decimal", "Data.Int", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "decimal" }, "sortText": "Z.decimal", "additionalTextEdits": null, "filterText": null, "insertText": "decimal", "kind": 12, "label": "decimal" }, { "detail": "Number → Duration", "documentation": { "kind": "markdown", "value": "\n*From: Data.Interval*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "day", "Data.Interval", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "day" }, "sortText": "Z.day", "additionalTextEdits": null, "filterText": null, "insertText": "day", "kind": 12, "label": "day" }, { "detail": "Number → Duration", "documentation": { "kind": "markdown", "value": "\n*From: Data.Interval.Duration*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "day", "Data.Interval.Duration", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "day" }, "sortText": "Z.day", "additionalTextEdits": null, "filterText": null, "insertText": "day", "kind": 12, "label": "day" }, { "detail": "∀ a. (Unit → a) → Lazy a", "documentation": { "kind": "markdown", "value": "Defer a computation, creating a `Lazy` value.\n\n*From: Data.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defer", "Data.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "defer" }, "sortText": "Z.defer", "additionalTextEdits": null, "filterText": null, "insertText": "defer", "kind": 12, "label": "defer" }, { "detail": "∀ a. Int → List a → Maybe (List a)", "documentation": { "kind": "markdown", "value": "Delete an element from a list at the specified index, returning a new\nlist or `Nothing` if the index is out-of-bounds.\n\nRunning time: `O(n)`\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "deleteAt", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "deleteAt" }, "sortText": "Z.deleteAt", "additionalTextEdits": null, "filterText": null, "insertText": "deleteAt", "kind": 12, "label": "deleteAt" }, { "detail": "∀ a. Int → List a → List a", "documentation": { "kind": "markdown", "value": "Drop the specified number of elements from the front of a list.\n\nRunning time: `O(n)` where `n` is the number of elements to drop.\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drop", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "drop" }, "sortText": "Z.drop", "additionalTextEdits": null, "filterText": null, "insertText": "drop", "kind": 12, "label": "drop" }, { "detail": "∀ a. Int → List a → List a", "documentation": { "kind": "markdown", "value": "Drop the specified number of elements from the end of a list.\n\nRunning time: `O(2n - m)` where `n` is the number of elements in list\nand `m` is number of elements to drop.\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropEnd", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "dropEnd" }, "sortText": "Z.dropEnd", "additionalTextEdits": null, "filterText": null, "insertText": "dropEnd", "kind": 12, "label": "dropEnd" }, { "detail": "∀ a. (a → Boolean) → List a → List a", "documentation": { "kind": "markdown", "value": "Drop those elements from the front of a list which match a predicate.\n\nRunning time (worst case): `O(n)`\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropWhile", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "dropWhile" }, "sortText": "Z.dropWhile", "additionalTextEdits": null, "filterText": null, "insertText": "dropWhile", "kind": 12, "label": "dropWhile" }, { "detail": "∀ a. Eq a ⇒ a → List a → List a", "documentation": { "kind": "markdown", "value": "Delete the first occurrence of an element from a list.\n\nRunning time: `O(n)`\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "delete", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "delete" }, "sortText": "Z.delete", "additionalTextEdits": null, "filterText": null, "insertText": "delete", "kind": 12, "label": "delete" }, { "detail": "∀ a. (a → a → Boolean) → a → List a → List a", "documentation": { "kind": "markdown", "value": "Delete the first occurrence of an element from a list, using the specified\nfunction to determine equality of elements.\n\nRunning time: `O(n)`\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "deleteBy", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "deleteBy" }, "sortText": "Z.deleteBy", "additionalTextEdits": null, "filterText": null, "insertText": "deleteBy", "kind": 12, "label": "deleteBy" }, { "detail": "∀ a. Eq a ⇒ List a → List a → List a", "documentation": { "kind": "markdown", "value": "Delete the first occurrence of each element in the second list from the first list.\n\nRunning time: `O(n^2)`\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "difference", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "difference" }, "sortText": "Z.difference", "additionalTextEdits": null, "filterText": null, "insertText": "difference", "kind": 12, "label": "difference" }, { "detail": "∀ a. Int → List a → List a", "documentation": { "kind": "markdown", "value": "Delete an element from a list at the specified index, returning a new\nlist or `Nothing` if the index is out-of-bounds.\n\nThis function differs from the strict equivalent in that out-of-bounds arguments\nresult in the original list being returned unchanged.\n\nRunning time: `O(n)`\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "deleteAt", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "deleteAt" }, "sortText": "Z.deleteAt", "additionalTextEdits": null, "filterText": null, "insertText": "deleteAt", "kind": 12, "label": "deleteAt" }, { "detail": "∀ a. Int → List a → List a", "documentation": { "kind": "markdown", "value": "Drop the specified number of elements from the front of a list.\n\nRunning time: `O(n)` where `n` is the number of elements to drop.\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drop", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "drop" }, "sortText": "Z.drop", "additionalTextEdits": null, "filterText": null, "insertText": "drop", "kind": 12, "label": "drop" }, { "detail": "∀ a. (a → Boolean) → List a → List a", "documentation": { "kind": "markdown", "value": "Drop those elements from the front of a list which match a predicate.\n\nRunning time (worst case): `O(n)`\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropWhile", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "dropWhile" }, "sortText": "Z.dropWhile", "additionalTextEdits": null, "filterText": null, "insertText": "dropWhile", "kind": 12, "label": "dropWhile" }, { "detail": "∀ a. Eq a ⇒ a → List a → List a", "documentation": { "kind": "markdown", "value": "Delete the first occurrence of an element from a list.\n\nRunning time: `O(n)`\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "delete", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "delete" }, "sortText": "Z.delete", "additionalTextEdits": null, "filterText": null, "insertText": "delete", "kind": 12, "label": "delete" }, { "detail": "∀ a. (a → a → Boolean) → a → List a → List a", "documentation": { "kind": "markdown", "value": "Delete the first occurrence of an element from a list, using the specified\nfunction to determine equality of elements.\n\nRunning time: `O(n)`\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "deleteBy", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "deleteBy" }, "sortText": "Z.deleteBy", "additionalTextEdits": null, "filterText": null, "insertText": "deleteBy", "kind": 12, "label": "deleteBy" }, { "detail": "∀ a. Eq a ⇒ List a → List a → List a", "documentation": { "kind": "markdown", "value": "Delete the first occurrence of each element in the second list from the first list.\n\nRunning time: `O(n^2)`\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "difference", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "difference" }, "sortText": "Z.difference", "additionalTextEdits": null, "filterText": null, "insertText": "difference", "kind": 12, "label": "difference" }, { "detail": "∀ a. Int → NonEmptyList a → List a", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drop", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "drop" }, "sortText": "Z.drop", "additionalTextEdits": null, "filterText": null, "insertText": "drop", "kind": 12, "label": "drop" }, { "detail": "∀ a. (a → Boolean) → NonEmptyList a → List a", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropWhile", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "dropWhile" }, "sortText": "Z.dropWhile", "additionalTextEdits": null, "filterText": null, "insertText": "dropWhile", "kind": 12, "label": "dropWhile" }, { "detail": "∀ k v. Ord k ⇒ k → Map k v → Map k v", "documentation": { "kind": "markdown", "value": "Delete a key and its corresponding value from a map.\n\n*From: Data.Map*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "delete", "Data.Map", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "delete" }, "sortText": "Z.delete", "additionalTextEdits": null, "filterText": null, "insertText": "delete", "kind": 12, "label": "delete" }, { "detail": "∀ k v w. Ord k ⇒ Map k v → Map k w → Map k v", "documentation": { "kind": "markdown", "value": "Difference of two maps. Return elements of the first map where\nthe keys do not exist in the second map.\n\n*From: Data.Map*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "difference", "Data.Map", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "difference" }, "sortText": "Z.difference", "additionalTextEdits": null, "filterText": null, "insertText": "difference", "kind": 12, "label": "difference" }, { "detail": "∀ k v. Ord k ⇒ k → Map k v → Map k v", "documentation": { "kind": "markdown", "value": "Delete a key and its corresponding value from a map.\n\n*From: Data.Map.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "delete", "Data.Map.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "delete" }, "sortText": "Z.delete", "additionalTextEdits": null, "filterText": null, "insertText": "delete", "kind": 12, "label": "delete" }, { "detail": "∀ k v w. Ord k ⇒ Map k v → Map k w → Map k v", "documentation": { "kind": "markdown", "value": "Difference of two maps. Return elements of the first map where\nthe keys do not exist in the second map.\n\n*From: Data.Map.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "difference", "Data.Map.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "difference" }, "sortText": "Z.difference", "additionalTextEdits": null, "filterText": null, "insertText": "difference", "kind": 12, "label": "difference" }, { "detail": "∀ a. Ord a ⇒ a → Set a → Set a", "documentation": { "kind": "markdown", "value": "Delete a value from a set\n\n*From: Data.Set*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "delete", "Data.Set", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "delete" }, "sortText": "Z.delete", "additionalTextEdits": null, "filterText": null, "insertText": "delete", "kind": 12, "label": "delete" }, { "detail": "∀ a. Ord a ⇒ Set a → Set a → Set a", "documentation": { "kind": "markdown", "value": "Form the set difference\n\n*From: Data.Set*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "difference", "Data.Set", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "difference" }, "sortText": "Z.difference", "additionalTextEdits": null, "filterText": null, "insertText": "difference", "kind": 12, "label": "difference" }, { "detail": "∀ a. Ord a ⇒ a → NonEmptySet a → Maybe (NonEmptySet a)", "documentation": { "kind": "markdown", "value": "Delete a value from a non-empty set. If this would empty the set, the\nresult is `Nothing`.\n\n*From: Data.Set.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "delete", "Data.Set.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "delete" }, "sortText": "Z.delete", "additionalTextEdits": null, "filterText": null, "insertText": "delete", "kind": 12, "label": "delete" }, { "detail": "∀ a. Ord a ⇒ NonEmptySet a → NonEmptySet a → Maybe (NonEmptySet a)", "documentation": { "kind": "markdown", "value": "Form the set difference. `Nothing` if the first is a subset of the second.\n\n*From: Data.Set.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "difference", "Data.Set.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "difference" }, "sortText": "Z.difference", "additionalTextEdits": null, "filterText": null, "insertText": "difference", "kind": 12, "label": "difference" }, { "detail": "Int → String → String", "documentation": { "kind": "markdown", "value": "Drops the given number of code points from the beginning of the string. If\nthe string does not have that many code points, returns the empty string.\nOperates in constant space and in time linear to the given number.\n\n```purescript\n>>> drop 5 \"𝐀𝐀 b c\"\n\"c\"\n-- compared to Data.String:\n>>> drop 5 \"𝐀𝐀 b c\"\n\"b c\" -- because \"𝐀\" occupies 2 code units\n```\n\n\n*From: Data.String*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drop", "Data.String", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "drop" }, "sortText": "Z.drop", "additionalTextEdits": null, "filterText": null, "insertText": "drop", "kind": 12, "label": "drop" }, { "detail": "(CodePoint → Boolean) → String → String", "documentation": { "kind": "markdown", "value": "Drops the leading sequence of code points which all match the given\npredicate from the string. Operates in constant space and in time linear\nto the length of the string.\n\n```purescript\n>>> dropWhile (\\c -> codePointToInt c == 0x1D400) \"𝐀𝐀 b c 𝐀\"\n\" b c 𝐀\"\n```\n\n\n*From: Data.String*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropWhile", "Data.String", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "dropWhile" }, "sortText": "Z.dropWhile", "additionalTextEdits": null, "filterText": null, "insertText": "dropWhile", "kind": 12, "label": "dropWhile" }, { "detail": "Int → String → String", "documentation": { "kind": "markdown", "value": "Drops the given number of code points from the beginning of the string. If\nthe string does not have that many code points, returns the empty string.\nOperates in constant space and in time linear to the given number.\n\n```purescript\n>>> drop 5 \"𝐀𝐀 b c\"\n\"c\"\n-- compared to Data.String:\n>>> drop 5 \"𝐀𝐀 b c\"\n\"b c\" -- because \"𝐀\" occupies 2 code units\n```\n\n\n*From: Data.String.CodePoints*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drop", "Data.String.CodePoints", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "drop" }, "sortText": "Z.drop", "additionalTextEdits": null, "filterText": null, "insertText": "drop", "kind": 12, "label": "drop" }, { "detail": "(CodePoint → Boolean) → String → String", "documentation": { "kind": "markdown", "value": "Drops the leading sequence of code points which all match the given\npredicate from the string. Operates in constant space and in time linear\nto the length of the string.\n\n```purescript\n>>> dropWhile (\\c -> codePointToInt c == 0x1D400) \"𝐀𝐀 b c 𝐀\"\n\" b c 𝐀\"\n```\n\n\n*From: Data.String.CodePoints*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropWhile", "Data.String.CodePoints", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "dropWhile" }, "sortText": "Z.dropWhile", "additionalTextEdits": null, "filterText": null, "insertText": "dropWhile", "kind": 12, "label": "dropWhile" }, { "detail": "Int → String → String", "documentation": { "kind": "markdown", "value": "Returns the string without the first `n` characters.\n\n```purescript\ndrop 6 \"Hello World\" == \"World\"\n```\n\n\n*From: Data.String.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drop", "Data.String.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "drop" }, "sortText": "Z.drop", "additionalTextEdits": null, "filterText": null, "insertText": "drop", "kind": 12, "label": "drop" }, { "detail": "Int → String → String", "documentation": { "kind": "markdown", "value": "Returns the string without the last `n` characters.\n\n```purescript\ndropRight 6 \"Hello World\" == \"Hello\"\n```\n\n\n*From: Data.String.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropRight", "Data.String.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "dropRight" }, "sortText": "Z.dropRight", "additionalTextEdits": null, "filterText": null, "insertText": "dropRight", "kind": 12, "label": "dropRight" }, { "detail": "(Char → Boolean) → String → String", "documentation": { "kind": "markdown", "value": "Returns the suffix remaining after `takeWhile`.\n\n```purescript\ndropWhile (_ /= '.') \"Test.purs\" == \".purs\"\n```\n\n\n*From: Data.String.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropWhile", "Data.String.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "dropWhile" }, "sortText": "Z.dropWhile", "additionalTextEdits": null, "filterText": null, "insertText": "dropWhile", "kind": 12, "label": "dropWhile" }, { "detail": "Int → NonEmptyString → Maybe NonEmptyString", "documentation": { "kind": "markdown", "value": "\n*From: Data.String.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drop", "Data.String.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "drop" }, "sortText": "Z.drop", "additionalTextEdits": null, "filterText": null, "insertText": "drop", "kind": 12, "label": "drop" }, { "detail": "(CodePoint → Boolean) → NonEmptyString → Maybe NonEmptyString", "documentation": { "kind": "markdown", "value": "\n*From: Data.String.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropWhile", "Data.String.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "dropWhile" }, "sortText": "Z.dropWhile", "additionalTextEdits": null, "filterText": null, "insertText": "dropWhile", "kind": 12, "label": "dropWhile" }, { "detail": "Int → NonEmptyString → Maybe NonEmptyString", "documentation": { "kind": "markdown", "value": "\n*From: Data.String.NonEmpty.CodePoints*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drop", "Data.String.NonEmpty.CodePoints", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "drop" }, "sortText": "Z.drop", "additionalTextEdits": null, "filterText": null, "insertText": "drop", "kind": 12, "label": "drop" }, { "detail": "(CodePoint → Boolean) → NonEmptyString → Maybe NonEmptyString", "documentation": { "kind": "markdown", "value": "\n*From: Data.String.NonEmpty.CodePoints*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropWhile", "Data.String.NonEmpty.CodePoints", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "dropWhile" }, "sortText": "Z.dropWhile", "additionalTextEdits": null, "filterText": null, "insertText": "dropWhile", "kind": 12, "label": "dropWhile" }, { "detail": "Int → NonEmptyString → Maybe NonEmptyString", "documentation": { "kind": "markdown", "value": "Returns the string without the first `n` characters. Returns `Nothing` if\nmore characters are dropped than the string is long.\n\n```purescript\ndrop 6 (NonEmptyString \"Hello World\") == Just (NonEmptyString \"World\")\ndrop 20 (NonEmptyString \"Hello World\") == Nothing\n```\n\n*From: Data.String.NonEmpty.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drop", "Data.String.NonEmpty.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "drop" }, "sortText": "Z.drop", "additionalTextEdits": null, "filterText": null, "insertText": "drop", "kind": 12, "label": "drop" }, { "detail": "Int → NonEmptyString → Maybe NonEmptyString", "documentation": { "kind": "markdown", "value": "Returns the string without the last `n` characters. Returns `Nothing` if\nmore characters are dropped than the string is long.\n\n```purescript\ndropRight 6 (NonEmptyString \"Hello World\") == Just (NonEmptyString \"Hello\")\ndropRight 20 (NonEmptyString \"Hello World\") == Nothing\n```\n\n*From: Data.String.NonEmpty.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropRight", "Data.String.NonEmpty.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "dropRight" }, "sortText": "Z.dropRight", "additionalTextEdits": null, "filterText": null, "insertText": "dropRight", "kind": 12, "label": "dropRight" }, { "detail": "(Char → Boolean) → NonEmptyString → Maybe NonEmptyString", "documentation": { "kind": "markdown", "value": "Returns the suffix remaining after `takeWhile`.\n\n```purescript\ndropWhile (_ /= '.') (NonEmptyString \"Test.purs\") == Just (NonEmptyString \".purs\")\n```\n\n*From: Data.String.NonEmpty.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropWhile", "Data.String.NonEmpty.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "dropWhile" }, "sortText": "Z.dropWhile", "additionalTextEdits": null, "filterText": null, "insertText": "dropWhile", "kind": 12, "label": "dropWhile" }, { "detail": "∀ d. Duration d ⇒ Time → Time → d", "documentation": { "kind": "markdown", "value": "Calculates the difference between two times, returning the result as a\nduration.\n\n*From: Data.Time*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "diff", "Data.Time", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "diff" }, "sortText": "Z.diff", "additionalTextEdits": null, "filterText": null, "insertText": "diff", "kind": 12, "label": "diff" }, { "detail": "Milliseconds → Aff Unit", "documentation": { "kind": "markdown", "value": "Pauses the running fiber.\n\n*From: Effect.Aff*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "delay", "Effect.Aff", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "delay" }, "sortText": "Z.delay", "additionalTextEdits": null, "filterText": null, "insertText": "delay", "kind": 12, "label": "delay" }, { "detail": "String → Maybe String", "documentation": { "kind": "markdown", "value": "URI decoding. Returns `Nothing` when given a value with undecodeable\nescape sequences.\n\n*From: Global*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "decodeURI", "Global", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "decodeURI" }, "sortText": "Z.decodeURI", "additionalTextEdits": null, "filterText": null, "insertText": "decodeURI", "kind": 12, "label": "decodeURI" }, { "detail": "String → Maybe String", "documentation": { "kind": "markdown", "value": "URI component decoding. Returns `Nothing` when given a value with\nundecodeable escape sequences.\n\n*From: Global*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "decodeURIComponent", "Global", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "decodeURIComponent" }, "sortText": "Z.decodeURIComponent", "additionalTextEdits": null, "filterText": null, "insertText": "decodeURIComponent", "kind": 12, "label": "decodeURIComponent" }, { "detail": "WriteStreamOptions", "documentation": { "kind": "markdown", "value": "\n*From: Node.FS.Stream*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultWriteStreamOptions", "Node.FS.Stream", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "defaultWriteStreamOptions" }, "sortText": "Z.defaultWriteStreamOptions", "additionalTextEdits": null, "filterText": null, "insertText": "defaultWriteStreamOptions", "kind": 12, "label": "defaultWriteStreamOptions" }, { "detail": "ReadStreamOptions", "documentation": { "kind": "markdown", "value": "\n*From: Node.FS.Stream*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultReadStreamOptions", "Node.FS.Stream", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "defaultReadStreamOptions" }, "sortText": "Z.defaultReadStreamOptions", "additionalTextEdits": null, "filterText": null, "insertText": "defaultReadStreamOptions", "kind": 12, "label": "defaultReadStreamOptions" }, { "detail": "FilePath → FilePath", "documentation": { "kind": "markdown", "value": "Return the directory name of a path.\n\n*From: Node.Path*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dirname", "Node.Path", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "dirname" }, "sortText": "Z.dirname", "additionalTextEdits": null, "filterText": null, "insertText": "dirname", "kind": 12, "label": "dirname" }, { "detail": "String", "documentation": { "kind": "markdown", "value": "The platform-specific path delimiter, `;` or `:`.\n\n*From: Node.Path*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "delimiter", "Node.Path", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "delimiter" }, "sortText": "Z.delimiter", "additionalTextEdits": null, "filterText": null, "insertText": "delimiter", "kind": 12, "label": "delimiter" }, { "detail": "∀ r. Stream r → Effect Unit", "documentation": { "kind": "markdown", "value": "Destroy the stream. It will release any internal resources.\n\n*From: Node.Stream*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "destroy", "Node.Stream", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "destroy" }, "sortText": "Z.destroy", "additionalTextEdits": null, "filterText": null, "insertText": "destroy", "kind": 12, "label": "destroy" }, { "detail": "∀ a m. Monad m ⇒ a → m Unit", "documentation": { "kind": "markdown", "value": "Discards a value\n\n*From: Pipes*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "discard", "Pipes", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "discard" }, "sortText": "Z.discard", "additionalTextEdits": null, "filterText": null, "insertText": "discard", "kind": 12, "label": "discard" }, { "detail": "∀ a m r. Monad m ⇒ Consumer_ a m r", "documentation": { "kind": "markdown", "value": "`discard` all incoming values\n\n*From: Pipes.Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drain", "Pipes.Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "drain" }, "sortText": "Z.drain", "additionalTextEdits": null, "filterText": null, "insertText": "drain", "kind": 12, "label": "drain" }, { "detail": "∀ a m r. Monad m ⇒ Int → Pipe a a m r", "documentation": { "kind": "markdown", "value": "drop discards n values going downstream\n\n*From: Pipes.Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drop", "Pipes.Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "drop" }, "sortText": "Z.drop", "additionalTextEdits": null, "filterText": null, "insertText": "drop", "kind": 12, "label": "drop" }, { "detail": "∀ a m r. Monad m ⇒ (a → Boolean) → Pipe a a m r", "documentation": { "kind": "markdown", "value": "dropWhile discards values going downstream until one violates the\n\n*From: Pipes.Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropWhile", "Pipes.Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "dropWhile" }, "sortText": "Z.dropWhile", "additionalTextEdits": null, "filterText": null, "insertText": "dropWhile", "kind": 12, "label": "dropWhile" }, { "detail": "∀ a. EuclideanRing a ⇒ a → Int", "documentation": { "kind": "markdown", "value": "\n*From: Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "degree", "Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "degree" }, "sortText": "Z.degree", "additionalTextEdits": null, "filterText": null, "insertText": "degree", "kind": 12, "label": "degree" }, { "detail": "∀ f b a. Discard a ⇒ Bind f ⇒ f a → (a → f b) → f b", "documentation": { "kind": "markdown", "value": "\n*From: Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "discard", "Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "discard" }, "sortText": "Z.discard", "additionalTextEdits": null, "filterText": null, "insertText": "discard", "kind": 12, "label": "discard" }, { "detail": "∀ a. HeytingAlgebra a ⇒ a → a → a", "documentation": { "kind": "markdown", "value": "\n*From: Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "disj", "Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "disj" }, "sortText": "Z.disj", "additionalTextEdits": null, "filterText": null, "insertText": "disj", "kind": 12, "label": "disj" }, { "detail": "∀ a. EuclideanRing a ⇒ a → a → a", "documentation": { "kind": "markdown", "value": "\n*From: Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "div", "Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "div" }, "sortText": "Z.div", "additionalTextEdits": null, "filterText": null, "insertText": "div", "kind": 12, "label": "div" }, { "detail": "∀ r1 r2 l a. IsSymbol l ⇒ Lacks l r1 ⇒ Cons l a r1 r2 ⇒ SProxy l → Record r2 → Record r1", "documentation": { "kind": "markdown", "value": "Delete a property for a label which is specified using a value-level proxy for\na type-level string.\n\nNote that the type of the resulting row must _lack_ the specified property.\nSince duplicate labels are allowed, this is checked with a type class constraint.\n\nFor example:\n\n```purescript\ndelete (SProxy :: SProxy \"x\")\n :: forall r a. Lacks \"x\" r => { x :: a | r } -> { | r }\n```\n\n*From: Record*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "delete", "Record", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "delete" }, "sortText": "Z.delete", "additionalTextEdits": null, "filterText": null, "insertText": "delete", "kind": 12, "label": "delete" }, { "detail": "∀ r1 r2 r3. Union r1 r2 r3 ⇒ Nub r3 r3 ⇒ Record r1 → Record r2 → Record r3", "documentation": { "kind": "markdown", "value": "Merges two records where no labels overlap. This restriction exhibits\nbetter inference than `merge` when the resulting record type is known,\nbut one argument is not.\n\nFor example, hole `?help` is inferred to have type `{ b :: Int }` here:\n\n```purescript\ndisjoinUnion { a: 5 } ?help :: { a :: Int, b :: Int }\n```\n\n*From: Record*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "disjointUnion", "Record", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "disjointUnion" }, "sortText": "Z.disjointUnion", "additionalTextEdits": null, "filterText": null, "insertText": "disjointUnion", "kind": 12, "label": "disjointUnion" }, { "detail": "∀ l a r1 r2. IsSymbol l ⇒ Lacks l r1 ⇒ Cons l a r1 r2 ⇒ SProxy l → Builder (Record r2) (Record r1)", "documentation": { "kind": "markdown", "value": "Build by deleting an existing field.\n\n*From: Record.Builder*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "delete", "Record.Builder", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "delete" }, "sortText": "Z.delete", "additionalTextEdits": null, "filterText": null, "insertText": "delete", "kind": 12, "label": "delete" }, { "detail": "∀ r1 r2 r3. Union r1 r2 r3 ⇒ Nub r3 r3 ⇒ Record r1 → Builder (Record r2) (Record r3)", "documentation": { "kind": "markdown", "value": "Build by merging some disjoint set of fields from another record.\n\n*From: Record.Builder*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "disjointUnion", "Record.Builder", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "disjointUnion" }, "sortText": "Z.disjointUnion", "additionalTextEdits": null, "filterText": null, "insertText": "disjointUnion", "kind": 12, "label": "disjointUnion" }, { "detail": "∀ m g i a. FocusWarning ⇒ Monad m ⇒ String → SpecT g i m a → SpecT g i m a", "documentation": { "kind": "markdown", "value": "Combine a group of specs into a described hierarchy and mark it as the\nonly group to actually be evaluated. (useful for quickly narrowing down\non a set)\n\n*From: Test.Spec*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "describeOnly", "Test.Spec", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "describeOnly" }, "sortText": "Z.describeOnly", "additionalTextEdits": null, "filterText": null, "insertText": "describeOnly", "kind": 12, "label": "describeOnly" }, { "detail": "∀ m g i a. Monad m ⇒ String → SpecT g i m a → SpecT g i m a", "documentation": { "kind": "markdown", "value": "Combine a group of specs into a described hierarchy.\n\n*From: Test.Spec*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "describe", "Test.Spec", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "describe" }, "sortText": "Z.describe", "additionalTextEdits": null, "filterText": null, "insertText": "describe", "kind": 12, "label": "describe" }, { "detail": "∀ m. MonadEffect m ⇒ String → m (Spec Unit)", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Discovery*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "discover", "Test.Spec.Discovery", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "discover" }, "sortText": "Z.discover", "additionalTextEdits": null, "filterText": null, "insertText": "discover", "kind": 12, "label": "discover" }, { "detail": "∀ s. s → (Event → StateT s (Writer String) Unit) → Reporter", "documentation": { "kind": "markdown", "value": "A default reporter implementation that can be used as a base to build\nother reporters on top of.\n\n*From: Test.Spec.Reporter*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultReporter", "Test.Spec.Reporter", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "defaultReporter" }, "sortText": "Z.defaultReporter", "additionalTextEdits": null, "filterText": null, "insertText": "defaultReporter", "kind": 12, "label": "defaultReporter" }, { "detail": "∀ m. MonadWriter String m ⇒ Array (Tree Void Result) → m Unit", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Reporter*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultSummary", "Test.Spec.Reporter", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "defaultSummary" }, "sortText": "Z.defaultSummary", "additionalTextEdits": null, "filterText": null, "insertText": "defaultSummary", "kind": 12, "label": "defaultSummary" }, { "detail": "∀ s. { getRunningItems ∷ s -> Map Path RunningItem , printFinishedItem ∷ Path -> RunningItem -> StateT s (Writer String) Unit , putRunningItems ∷ Map Path RunningItem -> s -> s , update ∷ Event -> StateT s (Writer String) Unit } → (Event → StateT s (Writer String) Unit)", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Reporter*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultUpdate", "Test.Spec.Reporter", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "defaultUpdate" }, "sortText": "Z.defaultUpdate", "additionalTextEdits": null, "filterText": null, "insertText": "defaultUpdate", "kind": 3, "label": "defaultUpdate" }, { "detail": "DotReporterConfig → Reporter", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Reporter*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dotReporter", "Test.Spec.Reporter", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "dotReporter" }, "sortText": "Z.dotReporter", "additionalTextEdits": null, "filterText": null, "insertText": "dotReporter", "kind": 12, "label": "dotReporter" }, { "detail": "∀ m. MonadWriter String m ⇒ Array (Tree Void Result) → m Unit", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Reporter.Base*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultSummary", "Test.Spec.Reporter.Base", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "defaultSummary" }, "sortText": "Z.defaultSummary", "additionalTextEdits": null, "filterText": null, "insertText": "defaultSummary", "kind": 12, "label": "defaultSummary" }, { "detail": "∀ s. s → (Event → StateT s (Writer String) Unit) → Reporter", "documentation": { "kind": "markdown", "value": "A default reporter implementation that can be used as a base to build\nother reporters on top of.\n\n*From: Test.Spec.Reporter.Base*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultReporter", "Test.Spec.Reporter.Base", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "defaultReporter" }, "sortText": "Z.defaultReporter", "additionalTextEdits": null, "filterText": null, "insertText": "defaultReporter", "kind": 12, "label": "defaultReporter" }, { "detail": "∀ s. { getRunningItems ∷ s -> Map Path RunningItem , printFinishedItem ∷ Path -> RunningItem -> StateT s (Writer String) Unit , putRunningItems ∷ Map Path RunningItem -> s -> s , update ∷ Event -> StateT s (Writer String) Unit } → (Event → StateT s (Writer String) Unit)", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Reporter.Base*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultUpdate", "Test.Spec.Reporter.Base", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "defaultUpdate" }, "sortText": "Z.defaultUpdate", "additionalTextEdits": null, "filterText": null, "insertText": "defaultUpdate", "kind": 3, "label": "defaultUpdate" }, { "detail": "DotReporterConfig → Reporter", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Reporter.Dot*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dotReporter", "Test.Spec.Reporter.Dot", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "dotReporter" }, "sortText": "Z.dotReporter", "additionalTextEdits": null, "filterText": null, "insertText": "dotReporter", "kind": 12, "label": "dotReporter" }, { "detail": "Config", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Runner*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultConfig", "Test.Spec.Runner", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "defaultConfig" }, "sortText": "Z.defaultConfig", "additionalTextEdits": null, "filterText": null, "insertText": "defaultConfig", "kind": 12, "label": "defaultConfig" }, { "detail": "Style", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Style*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dim", "Test.Spec.Style", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "dim" }, "sortText": "Z.dim", "additionalTextEdits": null, "filterText": null, "insertText": "dim", "kind": 12, "label": "dim" }, { "detail": "∀ c m a. Array (Tree c (Item m a)) → Array (Tree c (Item m a))", "documentation": { "kind": "markdown", "value": "If there is at least one focused element, all paths which don't\nlead to a focused element will be remove. otherwise input will\nbe returned as unchanged.\n\n*From: Test.Spec.Tree*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "discardUnfocused", "Test.Spec.Tree", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "discardUnfocused" }, "sortText": "Z.discardUnfocused", "additionalTextEdits": null, "filterText": null, "insertText": "discardUnfocused", "kind": 12, "label": "discardUnfocused" }, { "detail": "∀ a. Ring a ⇒ a → a", "documentation": { "kind": "markdown", "value": "Subtracts one from input\n\n*From: Utils.Math*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dec", "Utils.Math", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "dec" }, "sortText": "Z.dec", "additionalTextEdits": null, "filterText": null, "insertText": "dec", "kind": 12, "label": "dec" }, { "detail": "∀ a. EuclideanRing a ⇒ Eq a ⇒ a → a → Boolean", "documentation": { "kind": "markdown", "value": "Checks if a number is divisible by another number\n```purescript\n> 10 `divisibleBy` 2\ntrue\n\n> 10 `divisibleBy` 3\nfalse\n```\n\n*From: Utils.Math*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "divisibleBy", "Utils.Math", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 2, "line": 8 }, "end": { "line": 8, "character": 3 } }, "newText": "divisibleBy" }, "sortText": "Z.divisibleBy", "additionalTextEdits": null, "filterText": null, "insertText": "divisibleBy", "kind": 12, "label": "divisibleBy" } ], "isIncomplete": false } [Trace - 4:16:48 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 53 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec)\n\nspec :: Spec Unit\nspec = describe \"Problems\" do\n describe \"\n" } ] } [Trace - 4:16:48 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 54 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec)\n\nspec :: Spec Unit\nspec = describe \"Problems\" do\n describe \"P\n" } ] } [Trace - 4:16:48 PM] Sending request 'textDocument/completion - (31)'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" }, "position": { "line": 8, "character": 13 }, "context": { "triggerKind": 1 } } [Trace - 4:16:48 PM] Received notification 'window/logMessage'. Params: { "type": 3, "message": "[Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead\n" } [Info - 4:16:48 PM] [Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead [Trace - 4:16:48 PM] Received response 'textDocument/completion - (31)' in 17ms. Result: { "items": [ { "detail": "Int → EscapeCode", "documentation": { "kind": "markdown", "value": "\n*From: Ansi.Codes*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "PreviousLine", "Ansi.Codes", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "PreviousLine" }, "sortText": "Z.PreviousLine", "additionalTextEdits": null, "filterText": null, "insertText": "PreviousLine", "kind": 7, "label": "PreviousLine" }, { "detail": "Int → Int → EscapeCode", "documentation": { "kind": "markdown", "value": "\n*From: Ansi.Codes*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Position", "Ansi.Codes", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "Position" }, "sortText": "Z.Position", "additionalTextEdits": null, "filterText": null, "insertText": "Position", "kind": 7, "label": "Position" }, { "detail": "RenderingMode → GraphicsParam", "documentation": { "kind": "markdown", "value": "\n*From: Ansi.Codes*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "PMode", "Ansi.Codes", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "PMode" }, "sortText": "Z.PMode", "additionalTextEdits": null, "filterText": null, "insertText": "PMode", "kind": 7, "label": "PMode" }, { "detail": "Color → GraphicsParam", "documentation": { "kind": "markdown", "value": "\n*From: Ansi.Codes*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "PForeground", "Ansi.Codes", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "PForeground" }, "sortText": "Z.PForeground", "additionalTextEdits": null, "filterText": null, "insertText": "PForeground", "kind": 7, "label": "PForeground" }, { "detail": "Color → GraphicsParam", "documentation": { "kind": "markdown", "value": "\n*From: Ansi.Codes*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "PBackground", "Ansi.Codes", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "PBackground" }, "sortText": "Z.PBackground", "additionalTextEdits": null, "filterText": null, "insertText": "PBackground", "kind": 7, "label": "PBackground" }, { "detail": "(Type -> Type) -> Type", "documentation": { "kind": "markdown", "value": "\n*From: Control.Alternative*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Plus", "Control.Alternative", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "Plus" }, "sortText": "Z.Plus", "additionalTextEdits": null, "filterText": null, "insertText": "Plus", "kind": 3, "label": "Plus" }, { "detail": "(Type -> Type) -> Type", "documentation": { "kind": "markdown", "value": "\n*From: Control.MonadPlus*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Plus", "Control.MonadPlus", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "Plus" }, "sortText": "Z.Plus", "additionalTextEdits": null, "filterText": null, "insertText": "Plus", "kind": 3, "label": "Plus" }, { "detail": "(Type -> Type) -> Type", "documentation": { "kind": "markdown", "value": "\n*From: Control.MonadZero*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Plus", "Control.MonadZero", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "Plus" }, "sortText": "Z.Plus", "additionalTextEdits": null, "filterText": null, "insertText": "Plus", "kind": 3, "label": "Plus" }, { "detail": "(Type -> Type) -> Type -> Type", "documentation": { "kind": "markdown", "value": "The `ParCont` type constructor provides an `Applicative` instance\nbased on `ContT Unit m`, which waits for multiple continuations to be\nresumed simultaneously.\n\nParCont sections of code can be embedded in sequential code by using\nthe `parallel` and `sequential` functions:\n\n```purescript\nloadModel :: ContT Unit (Eff (ajax :: AJAX)) Model\nloadModel = do\n token <- authenticate\n sequential $\n Model <$> parallel (get \"/products/popular/\" token)\n <*> parallel (get \"/categories/all\" token)\n```\n\n*From: Control.Parallel*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "ParCont", "Control.Parallel", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "ParCont" }, "sortText": "Z.ParCont", "additionalTextEdits": null, "filterText": null, "insertText": "ParCont", "kind": 3, "label": "ParCont" }, { "detail": "∀ m a. ContT Unit m a → ParCont m a", "documentation": { "kind": "markdown", "value": "\n*From: Control.Parallel*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "ParCont", "Control.Parallel", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "ParCont" }, "sortText": "Z.ParCont", "additionalTextEdits": null, "filterText": null, "insertText": "ParCont", "kind": 7, "label": "ParCont" }, { "detail": "(Type -> Type) -> (Type -> Type) -> Type", "documentation": { "kind": "markdown", "value": "\n*From: Control.Parallel*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Parallel", "Control.Parallel", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "Parallel" }, "sortText": "Z.Parallel", "additionalTextEdits": null, "filterText": null, "insertText": "Parallel", "kind": 3, "label": "Parallel" }, { "detail": "(Type -> Type) -> (Type -> Type) -> Type", "documentation": { "kind": "markdown", "value": "\n*From: Control.Parallel.Class*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Parallel", "Control.Parallel.Class", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "Parallel" }, "sortText": "Z.Parallel", "additionalTextEdits": null, "filterText": null, "insertText": "Parallel", "kind": 3, "label": "Parallel" }, { "detail": "(Type -> Type) -> Type -> Type", "documentation": { "kind": "markdown", "value": "The `ParCont` type constructor provides an `Applicative` instance\nbased on `ContT Unit m`, which waits for multiple continuations to be\nresumed simultaneously.\n\nParCont sections of code can be embedded in sequential code by using\nthe `parallel` and `sequential` functions:\n\n```purescript\nloadModel :: ContT Unit (Eff (ajax :: AJAX)) Model\nloadModel = do\n token <- authenticate\n sequential $\n Model <$> parallel (get \"/products/popular/\" token)\n <*> parallel (get \"/categories/all\" token)\n```\n\n*From: Control.Parallel.Class*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "ParCont", "Control.Parallel.Class", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "ParCont" }, "sortText": "Z.ParCont", "additionalTextEdits": null, "filterText": null, "insertText": "ParCont", "kind": 3, "label": "ParCont" }, { "detail": "∀ m a. ContT Unit m a → ParCont m a", "documentation": { "kind": "markdown", "value": "\n*From: Control.Parallel.Class*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "ParCont", "Control.Parallel.Class", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "ParCont" }, "sortText": "Z.ParCont", "additionalTextEdits": null, "filterText": null, "insertText": "ParCont", "kind": 7, "label": "ParCont" }, { "detail": "(Type -> Type) -> Type", "documentation": { "kind": "markdown", "value": "\n*From: Control.Plus*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Plus", "Control.Plus", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "Plus" }, "sortText": "Z.Plus", "additionalTextEdits": null, "filterText": null, "insertText": "Plus", "kind": 3, "label": "Plus" }, { "detail": "(Type -> Type -> Type) -> (Type -> Type -> Type) -> Type -> Type -> Type", "documentation": { "kind": "markdown", "value": "The product of two `Bifunctor`s.\n\n*From: Data.Bifunctor.Product*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Product", "Data.Bifunctor.Product", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "Product" }, "sortText": "Z.Product", "additionalTextEdits": null, "filterText": null, "insertText": "Product", "kind": 3, "label": "Product" }, { "detail": "∀ f g a b. f a b → g a b → Product f g a b", "documentation": { "kind": "markdown", "value": "\n*From: Data.Bifunctor.Product*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Product", "Data.Bifunctor.Product", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "Product" }, "sortText": "Z.Product", "additionalTextEdits": null, "filterText": null, "insertText": "Product", "kind": 7, "label": "Product" }, { "detail": "(Type -> Type) -> (Type -> Type) -> Type -> Type", "documentation": { "kind": "markdown", "value": "`Product f g` is the product of the two functors `f` and `g`.\n\n*From: Data.Functor.Product*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Product", "Data.Functor.Product", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "Product" }, "sortText": "Z.Product", "additionalTextEdits": null, "filterText": null, "insertText": "Product", "kind": 3, "label": "Product" }, { "detail": "∀ f g a. Tuple (f a) (g a) → Product f g a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Product*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Product", "Data.Functor.Product", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "Product" }, "sortText": "Z.Product", "additionalTextEdits": null, "filterText": null, "insertText": "Product", "kind": 7, "label": "Product" }, { "detail": "T2 a (Const Unit)", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Product.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Product1", "Data.Functor.Product.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "Product1" }, "sortText": "Z.Product1", "additionalTextEdits": null, "filterText": null, "insertText": "Product1", "kind": 7, "label": "Product1" }, { "detail": "T3 a b (Const Unit)", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Product.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Product2", "Data.Functor.Product.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "Product2" }, "sortText": "Z.Product2", "additionalTextEdits": null, "filterText": null, "insertText": "Product2", "kind": 7, "label": "Product2" }, { "detail": "T4 a b c (Const Unit)", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Product.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Product3", "Data.Functor.Product.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "Product3" }, "sortText": "Z.Product3", "additionalTextEdits": null, "filterText": null, "insertText": "Product3", "kind": 7, "label": "Product3" }, { "detail": "T5 a b c d (Const Unit)", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Product.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Product4", "Data.Functor.Product.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "Product4" }, "sortText": "Z.Product4", "additionalTextEdits": null, "filterText": null, "insertText": "Product4", "kind": 7, "label": "Product4" }, { "detail": "T6 a b c d e (Const Unit)", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Product.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Product5", "Data.Functor.Product.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "Product5" }, "sortText": "Z.Product5", "additionalTextEdits": null, "filterText": null, "insertText": "Product5", "kind": 7, "label": "Product5" }, { "detail": "T7 a b c d e f (Const Unit)", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Product.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Product6", "Data.Functor.Product.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "Product6" }, "sortText": "Z.Product6", "additionalTextEdits": null, "filterText": null, "insertText": "Product6", "kind": 7, "label": "Product6" }, { "detail": "T8 a b c d e f g (Const Unit)", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Product.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Product7", "Data.Functor.Product.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "Product7" }, "sortText": "Z.Product7", "additionalTextEdits": null, "filterText": null, "insertText": "Product7", "kind": 7, "label": "Product7" }, { "detail": "T9 a b c d e f g h (Const Unit)", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Product.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Product8", "Data.Functor.Product.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "Product8" }, "sortText": "Z.Product8", "additionalTextEdits": null, "filterText": null, "insertText": "Product8", "kind": 7, "label": "Product8" }, { "detail": "T10 a b c d e f g h i (Const Unit)", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Product.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Product9", "Data.Functor.Product.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "Product9" }, "sortText": "Z.Product9", "additionalTextEdits": null, "filterText": null, "insertText": "Product9", "kind": 7, "label": "Product9" }, { "detail": "T11 a b c d e f g h i j (Const Unit)", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Product.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Product10", "Data.Functor.Product.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "Product10" }, "sortText": "Z.Product10", "additionalTextEdits": null, "filterText": null, "insertText": "Product10", "kind": 7, "label": "Product10" }, { "detail": "Type -> Type -> Type", "documentation": { "kind": "markdown", "value": "A representation for constructors with multiple fields.\n\n*From: Data.Generic.Rep*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Product", "Data.Generic.Rep", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "Product" }, "sortText": "Z.Product", "additionalTextEdits": null, "filterText": null, "insertText": "Product", "kind": 3, "label": "Product" }, { "detail": "∀ a b. a → b → Product a b", "documentation": { "kind": "markdown", "value": "\n*From: Data.Generic.Rep*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Product", "Data.Generic.Rep", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "Product" }, "sortText": "Z.Product", "additionalTextEdits": null, "filterText": null, "insertText": "Product", "kind": 7, "label": "Product" }, { "detail": "Type", "documentation": { "kind": "markdown", "value": "A type for describing whether an integer is even or odd.\n\nThe `Ord` instance considers `Even` to be less than `Odd`.\n\nThe `Semiring` instance allows you to ask about the parity of the results\nof arithmetical operations, given only the parities of the inputs. For\nexample, the sum of an odd number and an even number is odd, so\n`Odd + Even == Odd`. This also works for multiplication, eg. the product\nof two odd numbers is odd, and therefore `Odd * Odd == Odd`.\n\nMore generally, we have that\n\n```purescript\nparity x + parity y == parity (x + y)\nparity x * parity y == parity (x * y)\n```\n\nfor any integers `x`, `y`. (A mathematician would say that `parity` is a\n*ring homomorphism*.)\n\nAfter defining addition and multiplication on `Parity` in this way, the\n`Semiring` laws now force us to choose `zero = Even` and `one = Odd`.\nThis `Semiring` instance actually turns out to be a `Field`.\n\n*From: Data.Int*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Parity", "Data.Int", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "Parity" }, "sortText": "Z.Parity", "additionalTextEdits": null, "filterText": null, "insertText": "Parity", "kind": 7, "label": "Parity" }, { "detail": "Type -> Type", "documentation": { "kind": "markdown", "value": "A newtype used in cases where there is a list to be matched.\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Pattern", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "Pattern" }, "sortText": "Z.Pattern", "additionalTextEdits": null, "filterText": null, "insertText": "Pattern", "kind": 3, "label": "Pattern" }, { "detail": "∀ a. List a → Pattern a", "documentation": { "kind": "markdown", "value": "\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Pattern", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "Pattern" }, "sortText": "Z.Pattern", "additionalTextEdits": null, "filterText": null, "insertText": "Pattern", "kind": 7, "label": "Pattern" }, { "detail": "Type -> Type", "documentation": { "kind": "markdown", "value": "A newtype used in cases where there is a list to be matched.\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Pattern", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "Pattern" }, "sortText": "Z.Pattern", "additionalTextEdits": null, "filterText": null, "insertText": "Pattern", "kind": 3, "label": "Pattern" }, { "detail": "∀ a. List a → Pattern a", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Pattern", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "Pattern" }, "sortText": "Z.Pattern", "additionalTextEdits": null, "filterText": null, "insertText": "Pattern", "kind": 7, "label": "Pattern" }, { "detail": "Type -> Type", "documentation": { "kind": "markdown", "value": "An adaptor allowing `>$<` to map over the inputs of a predicate.\n\n*From: Data.Predicate*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Predicate", "Data.Predicate", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "Predicate" }, "sortText": "Z.Predicate", "additionalTextEdits": null, "filterText": null, "insertText": "Predicate", "kind": 3, "label": "Predicate" }, { "detail": "∀ a. (a → Boolean) → Predicate a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Predicate*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Predicate", "Data.Predicate", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "Predicate" }, "sortText": "Z.Predicate", "additionalTextEdits": null, "filterText": null, "insertText": "Predicate", "kind": 7, "label": "Predicate" }, { "detail": "Type", "documentation": { "kind": "markdown", "value": "A newtype used in cases where there is a string to be matched.\n\n```purescript\npursPattern = Pattern \".purs\"\n--can be used like this:\ncontains pursPattern \"Test.purs\"\n == true\n```\n\n\n*From: Data.String*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Pattern", "Data.String", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "Pattern" }, "sortText": "Z.Pattern", "additionalTextEdits": null, "filterText": null, "insertText": "Pattern", "kind": 7, "label": "Pattern" }, { "detail": "String → Pattern", "documentation": { "kind": "markdown", "value": "\n*From: Data.String*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Pattern", "Data.String", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "Pattern" }, "sortText": "Z.Pattern", "additionalTextEdits": null, "filterText": null, "insertText": "Pattern", "kind": 7, "label": "Pattern" }, { "detail": "Type", "documentation": { "kind": "markdown", "value": "A newtype used in cases where there is a string to be matched.\n\n```purescript\npursPattern = Pattern \".purs\"\n--can be used like this:\ncontains pursPattern \"Test.purs\"\n == true\n```\n\n\n*From: Data.String.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Pattern", "Data.String.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "Pattern" }, "sortText": "Z.Pattern", "additionalTextEdits": null, "filterText": null, "insertText": "Pattern", "kind": 7, "label": "Pattern" }, { "detail": "String → Pattern", "documentation": { "kind": "markdown", "value": "\n*From: Data.String.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Pattern", "Data.String.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "Pattern" }, "sortText": "Z.Pattern", "additionalTextEdits": null, "filterText": null, "insertText": "Pattern", "kind": 7, "label": "Pattern" }, { "detail": "Type", "documentation": { "kind": "markdown", "value": "A newtype used in cases where there is a string to be matched.\n\n```purescript\npursPattern = Pattern \".purs\"\n--can be used like this:\ncontains pursPattern \"Test.purs\"\n == true\n```\n\n\n*From: Data.String.Pattern*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Pattern", "Data.String.Pattern", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "Pattern" }, "sortText": "Z.Pattern", "additionalTextEdits": null, "filterText": null, "insertText": "Pattern", "kind": 7, "label": "Pattern" }, { "detail": "String → Pattern", "documentation": { "kind": "markdown", "value": "\n*From: Data.String.Pattern*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Pattern", "Data.String.Pattern", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "Pattern" }, "sortText": "Z.Pattern", "additionalTextEdits": null, "filterText": null, "insertText": "Pattern", "kind": 7, "label": "Pattern" }, { "detail": "Type -> Type", "documentation": { "kind": "markdown", "value": "Applicative for running parallel effects. Any `Aff` can be coerced to a\n`ParAff` and back using the `Parallel` class.\n\n*From: Effect.Aff*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "ParAff", "Effect.Aff", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "ParAff" }, "sortText": "Z.ParAff", "additionalTextEdits": null, "filterText": null, "insertText": "ParAff", "kind": 3, "label": "ParAff" }, { "detail": "Type", "documentation": { "kind": "markdown", "value": "A `Perm` value specifies what is allowed to be done with a particular\nfile by a particular class of user — that is, whether it is\nreadable, writable, and/or executable. It has a `Semiring` instance, which\nallows you to combine permissions:\n\n- `(+)` adds `Perm` values together. For example, `read + write` means\n \"readable and writable\".\n- `(*)` masks permissions. It can be thought of as selecting only the\n permissions that two `Perm` values have in common. For example:\n `(read + write) * (write + execute) == write`.\n\nYou can think also of a `Perm` value as a subset of the set\n`{ read, write, execute }`; then, `(+)` and `(*)` represent set union and\nintersection respectively.\n\n*From: Node.FS.Perms*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Perm", "Node.FS.Perms", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "Perm" }, "sortText": "Z.Perm", "additionalTextEdits": null, "filterText": null, "insertText": "Perm", "kind": 7, "label": "Perm" }, { "detail": "Type", "documentation": { "kind": "markdown", "value": "A `Perms` value includes all the permissions information about a\nparticular file or directory, by storing a `Perm` value for each of the\nfile owner, the group, and any other users.\n\n*From: Node.FS.Perms*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Perms", "Node.FS.Perms", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "Perms" }, "sortText": "Z.Perms", "additionalTextEdits": null, "filterText": null, "insertText": "Perms", "kind": 7, "label": "Perms" }, { "detail": "module", "documentation": { "kind": "markdown", "value": "This module provides support for the\nPureScript interactive mode, PSCI.\n\n*From: PSCI.Support*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "PSCI.Support", "PSCI.Support", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "PSCI.Support" }, "sortText": "Z.PSCI.Support", "additionalTextEdits": null, "filterText": null, "insertText": "PSCI.Support", "kind": 7, "label": "PSCI.Support" }, { "detail": "module", "documentation": { "kind": "markdown", "value": "Some partial helper functions. See the README for more documentation.\n\n*From: Partial*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Partial", "Partial", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "Partial" }, "sortText": "Z.Partial", "additionalTextEdits": null, "filterText": null, "insertText": "Partial", "kind": 7, "label": "Partial" }, { "detail": "module", "documentation": { "kind": "markdown", "value": "Utilities for working with partial functions.\nSee the README for more documentation.\n\n*From: Partial.Unsafe*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Partial.Unsafe", "Partial.Unsafe", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "Partial.Unsafe" }, "sortText": "Z.Partial.Unsafe", "additionalTextEdits": null, "filterText": null, "insertText": "Partial.Unsafe", "kind": 7, "label": "Partial.Unsafe" }, { "detail": "module", "documentation": { "kind": "markdown", "value": "\n*From: Pipes*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Pipes", "Pipes", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "Pipes" }, "sortText": "Z.Pipes", "additionalTextEdits": null, "filterText": null, "insertText": "Pipes", "kind": 7, "label": "Pipes" }, { "detail": "module", "documentation": { "kind": "markdown", "value": "\n*From: Pipes.Core*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Pipes.Core", "Pipes.Core", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "Pipes.Core" }, "sortText": "Z.Pipes.Core", "additionalTextEdits": null, "filterText": null, "insertText": "Pipes.Core", "kind": 7, "label": "Pipes.Core" }, { "detail": "Proxy X Unit Unit b", "documentation": { "kind": "markdown", "value": "\n*From: Pipes.Core*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Producer", "Pipes.Core", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "Producer" }, "sortText": "Z.Producer", "additionalTextEdits": null, "filterText": null, "insertText": "Producer", "kind": 7, "label": "Producer" }, { "detail": "Proxy Unit a Unit b", "documentation": { "kind": "markdown", "value": "\n*From: Pipes.Core*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Pipe", "Pipes.Core", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "Pipe" }, "sortText": "Z.Pipe", "additionalTextEdits": null, "filterText": null, "insertText": "Pipe", "kind": 7, "label": "Pipe" }, { "detail": "∀ x' x. Proxy x' x Unit b m r", "documentation": { "kind": "markdown", "value": "\n*From: Pipes.Core*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Producer_", "Pipes.Core", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "Producer_" }, "sortText": "Z.Producer_", "additionalTextEdits": null, "filterText": null, "insertText": "Producer_", "kind": 7, "label": "Producer_" }, { "detail": "Type -> Type -> Type -> Type -> (Type -> Type) -> Type -> Type", "documentation": { "kind": "markdown", "value": "\n*From: Pipes.Core*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Proxy", "Pipes.Core", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "Proxy" }, "sortText": "Z.Proxy", "additionalTextEdits": null, "filterText": null, "insertText": "Proxy", "kind": 3, "label": "Proxy" }, { "detail": "module", "documentation": { "kind": "markdown", "value": "\n*From: Pipes.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Pipes.Internal", "Pipes.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "Pipes.Internal" }, "sortText": "Z.Pipes.Internal", "additionalTextEdits": null, "filterText": null, "insertText": "Pipes.Internal", "kind": 7, "label": "Pipes.Internal" }, { "detail": "Type -> Type -> Type -> Type -> (Type -> Type) -> Type -> Type", "documentation": { "kind": "markdown", "value": "\n*From: Pipes.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Proxy", "Pipes.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "Proxy" }, "sortText": "Z.Proxy", "additionalTextEdits": null, "filterText": null, "insertText": "Proxy", "kind": 3, "label": "Proxy" }, { "detail": "∀ a' a b' b m r. r → Proxy a' a b' b m r", "documentation": { "kind": "markdown", "value": "\n*From: Pipes.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Pure", "Pipes.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "Pure" }, "sortText": "Z.Pure", "additionalTextEdits": null, "filterText": null, "insertText": "Pure", "kind": 7, "label": "Pure" }, { "detail": "module", "documentation": { "kind": "markdown", "value": "\n*From: Pipes.ListT*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Pipes.ListT", "Pipes.ListT", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "Pipes.ListT" }, "sortText": "Z.Pipes.ListT", "additionalTextEdits": null, "filterText": null, "insertText": "Pipes.ListT", "kind": 7, "label": "Pipes.ListT" }, { "detail": "module", "documentation": { "kind": "markdown", "value": "\n*From: Pipes.Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Pipes.Prelude", "Pipes.Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "Pipes.Prelude" }, "sortText": "Z.Pipes.Prelude", "additionalTextEdits": null, "filterText": null, "insertText": "Pipes.Prelude", "kind": 7, "label": "Pipes.Prelude" }, { "detail": "module", "documentation": { "kind": "markdown", "value": "\n*From: Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Prelude", "Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "Prelude" }, "sortText": "Z.Prelude", "additionalTextEdits": null, "filterText": null, "insertText": "Prelude", "kind": 7, "label": "Prelude" }, { "detail": "Type", "documentation": { "kind": "markdown", "value": "\n*From: Prim*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Partial", "Prim", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "Partial" }, "sortText": "Z.Partial", "additionalTextEdits": null, "filterText": null, "insertText": "Partial", "kind": 7, "label": "Partial" }, { "detail": "module", "documentation": { "kind": "markdown", "value": "\n*From: Problem1*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Problem1", "Problem1", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "Problem1" }, "sortText": "Z.Problem1", "additionalTextEdits": null, "filterText": null, "insertText": "Problem1", "kind": 7, "label": "Problem1" }, { "detail": "module", "documentation": { "kind": "markdown", "value": "\n*From: Problem10*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Problem10", "Problem10", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "Problem10" }, "sortText": "Z.Problem10", "additionalTextEdits": null, "filterText": null, "insertText": "Problem10", "kind": 7, "label": "Problem10" }, { "detail": "module", "documentation": { "kind": "markdown", "value": "\n*From: Problem11*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Problem11", "Problem11", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "Problem11" }, "sortText": "Z.Problem11", "additionalTextEdits": null, "filterText": null, "insertText": "Problem11", "kind": 7, "label": "Problem11" }, { "detail": "module", "documentation": { "kind": "markdown", "value": "\n*From: Problem2*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Problem2", "Problem2", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "Problem2" }, "sortText": "Z.Problem2", "additionalTextEdits": null, "filterText": null, "insertText": "Problem2", "kind": 7, "label": "Problem2" }, { "detail": "module", "documentation": { "kind": "markdown", "value": "\n*From: Problem3*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Problem3", "Problem3", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "Problem3" }, "sortText": "Z.Problem3", "additionalTextEdits": null, "filterText": null, "insertText": "Problem3", "kind": 7, "label": "Problem3" }, { "detail": "module", "documentation": { "kind": "markdown", "value": "\n*From: Problem4*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Problem4", "Problem4", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "Problem4" }, "sortText": "Z.Problem4", "additionalTextEdits": null, "filterText": null, "insertText": "Problem4", "kind": 7, "label": "Problem4" }, { "detail": "module", "documentation": { "kind": "markdown", "value": "\n*From: Problem5*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Problem5", "Problem5", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "Problem5" }, "sortText": "Z.Problem5", "additionalTextEdits": null, "filterText": null, "insertText": "Problem5", "kind": 7, "label": "Problem5" }, { "detail": "module", "documentation": { "kind": "markdown", "value": "\n*From: Problem6*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Problem6", "Problem6", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "Problem6" }, "sortText": "Z.Problem6", "additionalTextEdits": null, "filterText": null, "insertText": "Problem6", "kind": 7, "label": "Problem6" }, { "detail": "module", "documentation": { "kind": "markdown", "value": "\n*From: Problem7*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Problem7", "Problem7", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "Problem7" }, "sortText": "Z.Problem7", "additionalTextEdits": null, "filterText": null, "insertText": "Problem7", "kind": 7, "label": "Problem7" }, { "detail": "module", "documentation": { "kind": "markdown", "value": "\n*From: Problem8*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Problem8", "Problem8", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "Problem8" }, "sortText": "Z.Problem8", "additionalTextEdits": null, "filterText": null, "insertText": "Problem8", "kind": 7, "label": "Problem8" }, { "detail": "module", "documentation": { "kind": "markdown", "value": "\n*From: Problem9*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Problem9", "Problem9", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "Problem9" }, "sortText": "Z.Problem9", "additionalTextEdits": null, "filterText": null, "insertText": "Problem9", "kind": 7, "label": "Problem9" }, { "detail": "module", "documentation": { "kind": "markdown", "value": "\n*From: Problems*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Problems", "Problems", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "Problems" }, "sortText": "Z.Problems", "additionalTextEdits": null, "filterText": null, "insertText": "Problems", "kind": 7, "label": "Problems" }, { "detail": "Execution", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Runner.Event*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Parallel", "Test.Spec.Runner.Event", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "Parallel" }, "sortText": "Z.Parallel", "additionalTextEdits": null, "filterText": null, "insertText": "Parallel", "kind": 7, "label": "Parallel" }, { "detail": "Path → Name → Event", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Runner.Event*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Pending", "Test.Spec.Runner.Event", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "Pending" }, "sortText": "Z.Pending", "additionalTextEdits": null, "filterText": null, "insertText": "Pending", "kind": 7, "label": "Pending" }, { "detail": "Array PathItem", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Tree*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "Path", "Test.Spec.Tree", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "Path" }, "sortText": "Z.Path", "additionalTextEdits": null, "filterText": null, "insertText": "Path", "kind": 7, "label": "Path" }, { "detail": "Type", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Tree*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "PathItem", "Test.Spec.Tree", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "PathItem" }, "sortText": "Z.PathItem", "additionalTextEdits": null, "filterText": null, "insertText": "PathItem", "kind": 7, "label": "PathItem" }, { "detail": "{ index ∷ Int , name ∷ Maybe String } → PathItem", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Tree*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "PathItem", "Test.Spec.Tree", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 12, "line": 8 }, "end": { "line": 8, "character": 13 } }, "newText": "PathItem" }, "sortText": "Z.PathItem", "additionalTextEdits": null, "filterText": null, "insertText": "PathItem", "kind": 7, "label": "PathItem" } ], "isIncomplete": false } [Trace - 4:16:50 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 55 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec)\n\nspec :: Spec Unit\nspec = describe \"Problems\" do\n describe \"Problem1 \n" } ] } [Trace - 4:16:51 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 56 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec)\n\nspec :: Spec Unit\nspec = describe \"Problems\" do\n describe \"Problem1\n" } ] } [Trace - 4:16:51 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 57 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec)\n\nspec :: Spec Unit\nspec = describe \"Problems\" do\n describe \"Problem1\"\n" } ] } [Trace - 4:16:51 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 58 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec)\n\nspec :: Spec Unit\nspec = describe \"Problems\" do\n describe \"Problem1\" \n" } ] } [Trace - 4:16:52 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 59 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec)\n\nspec :: Spec Unit\nspec = describe \"Problems\" do\n describe \"Problem \n" } ] } [Trace - 4:16:52 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 60 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec)\n\nspec :: Spec Unit\nspec = describe \"Problems\" do\n describe \"Problem 1\n" } ] } [Trace - 4:16:52 PM] Sending request 'textDocument/completion - (32)'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" }, "position": { "line": 8, "character": 21 }, "context": { "triggerKind": 1 } } [Trace - 4:16:52 PM] Received response 'textDocument/completion - (32)' in 11ms. Result: { "items": [], "isIncomplete": false } [Trace - 4:16:52 PM] Received notification 'window/logMessage'. Params: { "type": 3, "message": "[Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead\n" } [Info - 4:16:52 PM] [Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead [Trace - 4:16:53 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 61 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec)\n\nspec :: Spec Unit\nspec = describe \"Problems\" do\n describe \"Problem 1\"\n" } ] } [Trace - 4:16:53 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 62 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec)\n\nspec :: Spec Unit\nspec = describe \"Problems\" do\n describe \"Problem 1\" \n" } ] } [Trace - 4:16:53 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 63 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec)\n\nspec :: Spec Unit\nspec = describe \"Problems\" do\n describe \"Problem 1\" d\n" } ] } [Trace - 4:16:53 PM] Sending request 'textDocument/completion - (33)'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" }, "position": { "line": 8, "character": 24 }, "context": { "triggerKind": 1 } } [Trace - 4:16:53 PM] Received notification 'window/logMessage'. Params: { "type": 3, "message": "[Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead\n" } [Info - 4:16:53 PM] [Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead [Trace - 4:16:53 PM] Received response 'textDocument/completion - (33)' in 42ms. Result: { "items": [ { "detail": "NonEmptyList GraphicsParam", "documentation": { "kind": "markdown", "value": "\n*From: Ansi.Output*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dim", "Ansi.Output", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "dim" }, "sortText": "Z.dim", "additionalTextEdits": null, "filterText": null, "insertText": "dim", "kind": 12, "label": "dim" }, { "detail": "∀ f b a. Discard a ⇒ Bind f ⇒ f a → (a → f b) → f b", "documentation": { "kind": "markdown", "value": "\n*From: Control.Bind*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "discard", "Control.Bind", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "discard" }, "sortText": "Z.discard", "additionalTextEdits": null, "filterText": null, "insertText": "discard", "kind": 12, "label": "discard" }, { "detail": "∀ a w. Extend w ⇒ w a → w (w a)", "documentation": { "kind": "markdown", "value": "Duplicate a comonadic context.\n\n`duplicate` is dual to `Control.Bind.join`.\n\n*From: Control.Comonad*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "duplicate", "Control.Comonad", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "duplicate" }, "sortText": "Z.duplicate", "additionalTextEdits": null, "filterText": null, "insertText": "duplicate", "kind": 12, "label": "duplicate" }, { "detail": "∀ f a. (Unit → Tuple a (f (Cofree f a))) → Cofree f a", "documentation": { "kind": "markdown", "value": "Lazily creates a value of type `Cofree f a` from a label and a\nfunctor-full of \"subtrees\".\n\n*From: Control.Comonad.Cofree*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "deferCofree", "Control.Comonad.Cofree", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "deferCofree" }, "sortText": "Z.deferCofree", "additionalTextEdits": null, "filterText": null, "insertText": "deferCofree", "kind": 12, "label": "deferCofree" }, { "detail": "∀ a w. Extend w ⇒ w a → w (w a)", "documentation": { "kind": "markdown", "value": "Duplicate a comonadic context.\n\n`duplicate` is dual to `Control.Bind.join`.\n\n*From: Control.Extend*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "duplicate", "Control.Extend", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "duplicate" }, "sortText": "Z.duplicate", "additionalTextEdits": null, "filterText": null, "insertText": "duplicate", "kind": 12, "label": "duplicate" }, { "detail": "∀ l. Lazy l ⇒ (Unit → l) → l", "documentation": { "kind": "markdown", "value": "\n*From: Control.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defer", "Control.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "defer" }, "sortText": "Z.defer", "additionalTextEdits": null, "filterText": null, "insertText": "defer", "kind": 12, "label": "defer" }, { "detail": "∀ f a. Applicative f ⇒ Int → ListT f a → ListT f a", "documentation": { "kind": "markdown", "value": "Drop a number of elements from the front of a list.\n\n*From: Control.Monad.List.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drop", "Control.Monad.List.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "drop" }, "sortText": "Z.drop", "additionalTextEdits": null, "filterText": null, "insertText": "drop", "kind": 12, "label": "drop" }, { "detail": "∀ f a. Applicative f ⇒ (a → Boolean) → ListT f a → ListT f a", "documentation": { "kind": "markdown", "value": "Drop elements from the front of a list while a predicate holds.\n\n*From: Control.Monad.List.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropWhile", "Control.Monad.List.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "dropWhile" }, "sortText": "Z.dropWhile", "additionalTextEdits": null, "filterText": null, "insertText": "dropWhile", "kind": 12, "label": "dropWhile" }, { "detail": "∀ a. a → Trampoline a", "documentation": { "kind": "markdown", "value": "Return a value immediately\n\n*From: Control.Monad.Trampoline*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "done", "Control.Monad.Trampoline", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "done" }, "sortText": "Z.done", "additionalTextEdits": null, "filterText": null, "insertText": "done", "kind": 12, "label": "done" }, { "detail": "∀ a. (Unit → a) → Trampoline a", "documentation": { "kind": "markdown", "value": "Use the `Trampoline` monad to represent the delayed evaluation of a value.\n\n*From: Control.Monad.Trampoline*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "delay", "Control.Monad.Trampoline", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "delay" }, "sortText": "Z.delay", "additionalTextEdits": null, "filterText": null, "insertText": "delay", "kind": 12, "label": "delay" }, { "detail": "∀ a. Int → Array a → Maybe (Array a)", "documentation": { "kind": "markdown", "value": "Delete the element at the specified index, creating a new array, or\nreturning `Nothing` if the index is out of bounds.\n\n```purescript\ndeleteAt 0 [\"Hello\", \"World\"] = Just [\"World\"]\ndeleteAt 10 [\"Hello\", \"World\"] = Nothing\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "deleteAt", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "deleteAt" }, "sortText": "Z.deleteAt", "additionalTextEdits": null, "filterText": null, "insertText": "deleteAt", "kind": 12, "label": "deleteAt" }, { "detail": "∀ a. Int → Array a → Array a", "documentation": { "kind": "markdown", "value": "Drop a number of elements from the start of an array, creating a new array.\n\n```purescript\nletters = [\"a\", \"b\", \"c\", \"d\"]\n\ndrop 2 letters = [\"c\", \"d\"]\ndrop 10 letters = []\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drop", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "drop" }, "sortText": "Z.drop", "additionalTextEdits": null, "filterText": null, "insertText": "drop", "kind": 12, "label": "drop" }, { "detail": "∀ a. Int → Array a → Array a", "documentation": { "kind": "markdown", "value": "Drop a number of elements from the end of an array, creating a new array.\n\n```purescript\nletters = [\"a\", \"b\", \"c\", \"d\"]\n\ndropEnd 2 letters = [\"a\", \"b\"]\ndropEnd 10 letters = []\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropEnd", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "dropEnd" }, "sortText": "Z.dropEnd", "additionalTextEdits": null, "filterText": null, "insertText": "dropEnd", "kind": 12, "label": "dropEnd" }, { "detail": "∀ a. (a → Boolean) → Array a → Array a", "documentation": { "kind": "markdown", "value": "Remove the longest initial subarray for which all element satisfy the\nspecified predicate, creating a new array.\n\n```purescript\ndropWhile (_ < 0) [-3, -1, 0, 4, -6] = [0, 4, -6]\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropWhile", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "dropWhile" }, "sortText": "Z.dropWhile", "additionalTextEdits": null, "filterText": null, "insertText": "dropWhile", "kind": 12, "label": "dropWhile" }, { "detail": "∀ a. Eq a ⇒ a → Array a → Array a", "documentation": { "kind": "markdown", "value": "Delete the first element of an array which is equal to the specified value,\ncreating a new array.\n\n```purescript\ndelete 7 [1, 7, 3, 7] = [1, 3, 7]\ndelete 7 [1, 2, 3] = [1, 2, 3]\n```\n\nRunning time: `O(n)`\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "delete", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "delete" }, "sortText": "Z.delete", "additionalTextEdits": null, "filterText": null, "insertText": "delete", "kind": 12, "label": "delete" }, { "detail": "∀ a. (a → a → Boolean) → a → Array a → Array a", "documentation": { "kind": "markdown", "value": "Delete the first element of an array which matches the specified value,\nunder the equivalence relation provided in the first argument, creating a\nnew array.\n\n```purescript\nmod3eq a b = a `mod` 3 == b `mod` 3\ndeleteBy mod3eq 6 [1, 3, 4, 3] = [1, 4, 3]\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "deleteBy", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "deleteBy" }, "sortText": "Z.deleteBy", "additionalTextEdits": null, "filterText": null, "insertText": "deleteBy", "kind": 12, "label": "deleteBy" }, { "detail": "∀ a. Eq a ⇒ Array a → Array a → Array a", "documentation": { "kind": "markdown", "value": "Delete the first occurrence of each element in the second array from the\nfirst array, creating a new array.\n\n```purescript\ndifference [2, 1] [2, 3] = [1]\n```\n\nRunning time: `O(n*m)`, where n is the length of the first array, and m is\nthe length of the second.\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "difference", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "difference" }, "sortText": "Z.difference", "additionalTextEdits": null, "filterText": null, "insertText": "difference", "kind": 12, "label": "difference" }, { "detail": "∀ a. Int → NonEmptyArray a → Maybe (Array a)", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "deleteAt", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "deleteAt" }, "sortText": "Z.deleteAt", "additionalTextEdits": null, "filterText": null, "insertText": "deleteAt", "kind": 12, "label": "deleteAt" }, { "detail": "∀ a. Int → NonEmptyArray a → Array a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drop", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "drop" }, "sortText": "Z.drop", "additionalTextEdits": null, "filterText": null, "insertText": "drop", "kind": 12, "label": "drop" }, { "detail": "∀ a. Int → NonEmptyArray a → Array a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropEnd", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "dropEnd" }, "sortText": "Z.dropEnd", "additionalTextEdits": null, "filterText": null, "insertText": "dropEnd", "kind": 12, "label": "dropEnd" }, { "detail": "∀ a. (a → Boolean) → NonEmptyArray a → Array a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropWhile", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "dropWhile" }, "sortText": "Z.dropWhile", "additionalTextEdits": null, "filterText": null, "insertText": "dropWhile", "kind": 12, "label": "dropWhile" }, { "detail": "∀ a. Eq a ⇒ a → NonEmptyArray a → Array a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "delete", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "delete" }, "sortText": "Z.delete", "additionalTextEdits": null, "filterText": null, "insertText": "delete", "kind": 12, "label": "delete" }, { "detail": "∀ a. (a → a → Boolean) → a → NonEmptyArray a → Array a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "deleteBy", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "deleteBy" }, "sortText": "Z.deleteBy", "additionalTextEdits": null, "filterText": null, "insertText": "deleteBy", "kind": 12, "label": "deleteBy" }, { "detail": "∀ a. Eq a ⇒ NonEmptyArray a → NonEmptyArray a → Array a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "difference", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "difference" }, "sortText": "Z.difference", "additionalTextEdits": null, "filterText": null, "insertText": "difference", "kind": 12, "label": "difference" }, { "detail": "∀ a. Eq a ⇒ NonEmptyArray a → Array a → Array a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "difference'", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "difference'" }, "sortText": "Z.difference'", "additionalTextEdits": null, "filterText": null, "insertText": "difference'", "kind": 12, "label": "difference'" }, { "detail": "Int → BigInt → BaseDigits", "documentation": { "kind": "markdown", "value": "A base N representation of the `BigInt` as an array of digits.\n\n*From: Data.BigInt*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "digitsInBase", "Data.BigInt", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "digitsInBase" }, "sortText": "Z.digitsInBase", "additionalTextEdits": null, "filterText": null, "insertText": "digitsInBase", "kind": 12, "label": "digitsInBase" }, { "detail": "∀ a. HeytingAlgebra a ⇒ a → a → a", "documentation": { "kind": "markdown", "value": "\n*From: Data.BooleanAlgebra*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "disj", "Data.BooleanAlgebra", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "disj" }, "sortText": "Z.disj", "additionalTextEdits": null, "filterText": null, "insertText": "disj", "kind": 12, "label": "disj" }, { "detail": "∀ a. Ord a ⇒ Comparison a", "documentation": { "kind": "markdown", "value": "The default comparison for any values with an `Ord` instance.\n\n*From: Data.Comparison*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultComparison", "Data.Comparison", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "defaultComparison" }, "sortText": "Z.defaultComparison", "additionalTextEdits": null, "filterText": null, "insertText": "defaultComparison", "kind": 12, "label": "defaultComparison" }, { "detail": "Date → Day", "documentation": { "kind": "markdown", "value": "The day component of a date value.\n\n*From: Data.Date*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "day", "Data.Date", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "day" }, "sortText": "Z.day", "additionalTextEdits": null, "filterText": null, "insertText": "day", "kind": 12, "label": "day" }, { "detail": "∀ d. Duration d ⇒ Date → Date → d", "documentation": { "kind": "markdown", "value": "Calculates the difference between two dates, returning the result as a\nduration.\n\n*From: Data.Date*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "diff", "Data.Date", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "diff" }, "sortText": "Z.diff", "additionalTextEdits": null, "filterText": null, "insertText": "diff", "kind": 12, "label": "diff" }, { "detail": "DateTime → Date", "documentation": { "kind": "markdown", "value": "\n*From: Data.DateTime*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "date", "Data.DateTime", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "date" }, "sortText": "Z.date", "additionalTextEdits": null, "filterText": null, "insertText": "date", "kind": 12, "label": "date" }, { "detail": "∀ d. Duration d ⇒ DateTime → DateTime → d", "documentation": { "kind": "markdown", "value": "Calculates the difference between two date/time values, returning the\nresult as a duration.\n\n*From: Data.DateTime*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "diff", "Data.DateTime", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "diff" }, "sortText": "Z.diff", "additionalTextEdits": null, "filterText": null, "insertText": "diff", "kind": 12, "label": "diff" }, { "detail": "Date → Day", "documentation": { "kind": "markdown", "value": "The day component of a date value.\n\n*From: Data.DateTime*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "day", "Data.DateTime", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "day" }, "sortText": "Z.day", "additionalTextEdits": null, "filterText": null, "insertText": "day", "kind": 12, "label": "day" }, { "detail": "∀ a g f. Distributive f ⇒ Functor g ⇒ g (f a) → f (g a)", "documentation": { "kind": "markdown", "value": "\n*From: Data.Distributive*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "distribute", "Data.Distributive", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "distribute" }, "sortText": "Z.distribute", "additionalTextEdits": null, "filterText": null, "insertText": "distribute", "kind": 12, "label": "distribute" }, { "detail": "∀ a f g. Distributive f ⇒ Functor g ⇒ g (f a) → f (g a)", "documentation": { "kind": "markdown", "value": "A default implementation of `distribute`, based on `collect`.\n\n*From: Data.Distributive*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "distributeDefault", "Data.Distributive", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "distributeDefault" }, "sortText": "Z.distributeDefault", "additionalTextEdits": null, "filterText": null, "insertText": "distributeDefault", "kind": 12, "label": "distributeDefault" }, { "detail": "∀ a b c f. Divide f ⇒ (a → Tuple b c) → f b → f c → f a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Divide*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "divide", "Data.Divide", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "divide" }, "sortText": "Z.divide", "additionalTextEdits": null, "filterText": null, "insertText": "divide", "kind": 12, "label": "divide" }, { "detail": "∀ f a b. Divide f ⇒ f a → f b → f (Tuple a b)", "documentation": { "kind": "markdown", "value": "`divided = divide id`\n\n*From: Data.Divide*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "divided", "Data.Divide", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "divided" }, "sortText": "Z.divided", "additionalTextEdits": null, "filterText": null, "insertText": "divided", "kind": 12, "label": "divided" }, { "detail": "∀ a u. Enum a ⇒ Unfoldable u ⇒ a → u a", "documentation": { "kind": "markdown", "value": "Produces all predecessors of an `Enum` value, excluding the start value.\n\n*From: Data.Enum*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "downFrom", "Data.Enum", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "downFrom" }, "sortText": "Z.downFrom", "additionalTextEdits": null, "filterText": null, "insertText": "downFrom", "kind": 12, "label": "downFrom" }, { "detail": "∀ a u. Enum a ⇒ Unfoldable1 u ⇒ a → u a", "documentation": { "kind": "markdown", "value": "Produces all predecessors of an `Enum` value, including the start value.\n\n`downFromIncluding top` will return all values in an `Enum`, in reverse\norder.\n\n*From: Data.Enum*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "downFromIncluding", "Data.Enum", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "downFromIncluding" }, "sortText": "Z.downFromIncluding", "additionalTextEdits": null, "filterText": null, "insertText": "downFromIncluding", "kind": 12, "label": "downFromIncluding" }, { "detail": "∀ a. (Int → Maybe a) → (a → Int) → a → Maybe a", "documentation": { "kind": "markdown", "value": "Provides a default implementation for `succ`, given a function that maps\nintegers to values in the `Enum`, and a function that maps values in the\n`Enum` back to integers. The integer mapping must agree in both directions\nfor this to implement a law-abiding `succ`.\n\nIf a `BoundedEnum` instance exists for `a`, the `toEnum` and `fromEnum`\nfunctions can be used here:\n\n``` purescript\nsucc = defaultSucc toEnum fromEnum\n```\n\n*From: Data.Enum*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultSucc", "Data.Enum", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "defaultSucc" }, "sortText": "Z.defaultSucc", "additionalTextEdits": null, "filterText": null, "insertText": "defaultSucc", "kind": 12, "label": "defaultSucc" }, { "detail": "∀ a. (Int → Maybe a) → (a → Int) → a → Maybe a", "documentation": { "kind": "markdown", "value": "Provides a default implementation for `pred`, given a function that maps\nintegers to values in the `Enum`, and a function that maps values in the\n`Enum` back to integers. The integer mapping must agree in both directions\nfor this to implement a law-abiding `pred`.\n\nIf a `BoundedEnum` instance exists for `a`, the `toEnum` and `fromEnum`\nfunctions can be used here:\n\n``` purescript\npred = defaultPred toEnum fromEnum\n```\n\n*From: Data.Enum*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultPred", "Data.Enum", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "defaultPred" }, "sortText": "Z.defaultPred", "additionalTextEdits": null, "filterText": null, "insertText": "defaultPred", "kind": 12, "label": "defaultPred" }, { "detail": "∀ a. Bounded a ⇒ Enum a ⇒ Cardinality a", "documentation": { "kind": "markdown", "value": "Provides a default implementation for `cardinality`.\n\nRuns in `O(n)` where `n` is `fromEnum top`\n\n*From: Data.Enum*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultCardinality", "Data.Enum", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "defaultCardinality" }, "sortText": "Z.defaultCardinality", "additionalTextEdits": null, "filterText": null, "insertText": "defaultCardinality", "kind": 12, "label": "defaultCardinality" }, { "detail": "∀ a. Bounded a ⇒ Enum a ⇒ Int → Maybe a", "documentation": { "kind": "markdown", "value": "Provides a default implementation for `toEnum`.\n\n- Assumes `fromEnum bottom = 0`.\n- Cannot be used in conjuction with `defaultSucc`.\n\nRuns in `O(n)` where `n` is `fromEnum a`.\n\n*From: Data.Enum*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultToEnum", "Data.Enum", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "defaultToEnum" }, "sortText": "Z.defaultToEnum", "additionalTextEdits": null, "filterText": null, "insertText": "defaultToEnum", "kind": 12, "label": "defaultToEnum" }, { "detail": "∀ a. Enum a ⇒ a → Int", "documentation": { "kind": "markdown", "value": "Provides a default implementation for `fromEnum`.\n\n- Assumes `toEnum 0 = Just bottom`.\n- Cannot be used in conjuction with `defaultPred`.\n\nRuns in `O(n)` where `n` is `fromEnum a`.\n\n*From: Data.Enum*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultFromEnum", "Data.Enum", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "defaultFromEnum" }, "sortText": "Z.defaultFromEnum", "additionalTextEdits": null, "filterText": null, "insertText": "defaultFromEnum", "kind": 12, "label": "defaultFromEnum" }, { "detail": "∀ a. Eq a ⇒ Equivalence a", "documentation": { "kind": "markdown", "value": "The default equivalence relation for any values with an `Eq` instance.\n\n*From: Data.Equivalence*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultEquivalence", "Data.Equivalence", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "defaultEquivalence" }, "sortText": "Z.defaultEquivalence", "additionalTextEdits": null, "filterText": null, "insertText": "defaultEquivalence", "kind": 12, "label": "defaultEquivalence" }, { "detail": "∀ a. EuclideanRing a ⇒ a → Int", "documentation": { "kind": "markdown", "value": "\n*From: Data.EuclideanRing*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "degree", "Data.EuclideanRing", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "degree" }, "sortText": "Z.degree", "additionalTextEdits": null, "filterText": null, "insertText": "degree", "kind": 12, "label": "degree" }, { "detail": "∀ a. EuclideanRing a ⇒ a → a → a", "documentation": { "kind": "markdown", "value": "\n*From: Data.EuclideanRing*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "div", "Data.EuclideanRing", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "div" }, "sortText": "Z.div", "additionalTextEdits": null, "filterText": null, "insertText": "div", "kind": 12, "label": "div" }, { "detail": "∀ a. EuclideanRing a ⇒ a → Int", "documentation": { "kind": "markdown", "value": "\n*From: Data.Field*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "degree", "Data.Field", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "degree" }, "sortText": "Z.degree", "additionalTextEdits": null, "filterText": null, "insertText": "degree", "kind": 12, "label": "degree" }, { "detail": "∀ a. EuclideanRing a ⇒ a → a → a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Field*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "div", "Data.Field", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "div" }, "sortText": "Z.div", "additionalTextEdits": null, "filterText": null, "insertText": "div", "kind": 12, "label": "div" }, { "detail": "∀ a. HeytingAlgebra a ⇒ a → a → a", "documentation": { "kind": "markdown", "value": "\n*From: Data.HeytingAlgebra*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "disj", "Data.HeytingAlgebra", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "disj" }, "sortText": "Z.disj", "additionalTextEdits": null, "filterText": null, "insertText": "disj", "kind": 12, "label": "disj" }, { "detail": "∀ subrow row rowlist. HeytingAlgebraRecord rowlist row subrow ⇒ RLProxy rowlist → Record row → Record row → Record subrow", "documentation": { "kind": "markdown", "value": "\n*From: Data.HeytingAlgebra*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "disjRecord", "Data.HeytingAlgebra", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "disjRecord" }, "sortText": "Z.disjRecord", "additionalTextEdits": null, "filterText": null, "insertText": "disjRecord", "kind": 12, "label": "disjRecord" }, { "detail": "Radix", "documentation": { "kind": "markdown", "value": "The base-10 system.\n\n*From: Data.Int*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "decimal", "Data.Int", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "decimal" }, "sortText": "Z.decimal", "additionalTextEdits": null, "filterText": null, "insertText": "decimal", "kind": 12, "label": "decimal" }, { "detail": "Number → Duration", "documentation": { "kind": "markdown", "value": "\n*From: Data.Interval*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "day", "Data.Interval", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "day" }, "sortText": "Z.day", "additionalTextEdits": null, "filterText": null, "insertText": "day", "kind": 12, "label": "day" }, { "detail": "Number → Duration", "documentation": { "kind": "markdown", "value": "\n*From: Data.Interval.Duration*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "day", "Data.Interval.Duration", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "day" }, "sortText": "Z.day", "additionalTextEdits": null, "filterText": null, "insertText": "day", "kind": 12, "label": "day" }, { "detail": "∀ a. (Unit → a) → Lazy a", "documentation": { "kind": "markdown", "value": "Defer a computation, creating a `Lazy` value.\n\n*From: Data.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defer", "Data.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "defer" }, "sortText": "Z.defer", "additionalTextEdits": null, "filterText": null, "insertText": "defer", "kind": 12, "label": "defer" }, { "detail": "∀ a. Int → List a → Maybe (List a)", "documentation": { "kind": "markdown", "value": "Delete an element from a list at the specified index, returning a new\nlist or `Nothing` if the index is out-of-bounds.\n\nRunning time: `O(n)`\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "deleteAt", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "deleteAt" }, "sortText": "Z.deleteAt", "additionalTextEdits": null, "filterText": null, "insertText": "deleteAt", "kind": 12, "label": "deleteAt" }, { "detail": "∀ a. Int → List a → List a", "documentation": { "kind": "markdown", "value": "Drop the specified number of elements from the front of a list.\n\nRunning time: `O(n)` where `n` is the number of elements to drop.\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drop", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "drop" }, "sortText": "Z.drop", "additionalTextEdits": null, "filterText": null, "insertText": "drop", "kind": 12, "label": "drop" }, { "detail": "∀ a. Int → List a → List a", "documentation": { "kind": "markdown", "value": "Drop the specified number of elements from the end of a list.\n\nRunning time: `O(2n - m)` where `n` is the number of elements in list\nand `m` is number of elements to drop.\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropEnd", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "dropEnd" }, "sortText": "Z.dropEnd", "additionalTextEdits": null, "filterText": null, "insertText": "dropEnd", "kind": 12, "label": "dropEnd" }, { "detail": "∀ a. (a → Boolean) → List a → List a", "documentation": { "kind": "markdown", "value": "Drop those elements from the front of a list which match a predicate.\n\nRunning time (worst case): `O(n)`\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropWhile", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "dropWhile" }, "sortText": "Z.dropWhile", "additionalTextEdits": null, "filterText": null, "insertText": "dropWhile", "kind": 12, "label": "dropWhile" }, { "detail": "∀ a. Eq a ⇒ a → List a → List a", "documentation": { "kind": "markdown", "value": "Delete the first occurrence of an element from a list.\n\nRunning time: `O(n)`\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "delete", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "delete" }, "sortText": "Z.delete", "additionalTextEdits": null, "filterText": null, "insertText": "delete", "kind": 12, "label": "delete" }, { "detail": "∀ a. (a → a → Boolean) → a → List a → List a", "documentation": { "kind": "markdown", "value": "Delete the first occurrence of an element from a list, using the specified\nfunction to determine equality of elements.\n\nRunning time: `O(n)`\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "deleteBy", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "deleteBy" }, "sortText": "Z.deleteBy", "additionalTextEdits": null, "filterText": null, "insertText": "deleteBy", "kind": 12, "label": "deleteBy" }, { "detail": "∀ a. Eq a ⇒ List a → List a → List a", "documentation": { "kind": "markdown", "value": "Delete the first occurrence of each element in the second list from the first list.\n\nRunning time: `O(n^2)`\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "difference", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "difference" }, "sortText": "Z.difference", "additionalTextEdits": null, "filterText": null, "insertText": "difference", "kind": 12, "label": "difference" }, { "detail": "∀ a. Int → List a → List a", "documentation": { "kind": "markdown", "value": "Delete an element from a list at the specified index, returning a new\nlist or `Nothing` if the index is out-of-bounds.\n\nThis function differs from the strict equivalent in that out-of-bounds arguments\nresult in the original list being returned unchanged.\n\nRunning time: `O(n)`\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "deleteAt", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "deleteAt" }, "sortText": "Z.deleteAt", "additionalTextEdits": null, "filterText": null, "insertText": "deleteAt", "kind": 12, "label": "deleteAt" }, { "detail": "∀ a. Int → List a → List a", "documentation": { "kind": "markdown", "value": "Drop the specified number of elements from the front of a list.\n\nRunning time: `O(n)` where `n` is the number of elements to drop.\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drop", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "drop" }, "sortText": "Z.drop", "additionalTextEdits": null, "filterText": null, "insertText": "drop", "kind": 12, "label": "drop" }, { "detail": "∀ a. (a → Boolean) → List a → List a", "documentation": { "kind": "markdown", "value": "Drop those elements from the front of a list which match a predicate.\n\nRunning time (worst case): `O(n)`\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropWhile", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "dropWhile" }, "sortText": "Z.dropWhile", "additionalTextEdits": null, "filterText": null, "insertText": "dropWhile", "kind": 12, "label": "dropWhile" }, { "detail": "∀ a. Eq a ⇒ a → List a → List a", "documentation": { "kind": "markdown", "value": "Delete the first occurrence of an element from a list.\n\nRunning time: `O(n)`\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "delete", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "delete" }, "sortText": "Z.delete", "additionalTextEdits": null, "filterText": null, "insertText": "delete", "kind": 12, "label": "delete" }, { "detail": "∀ a. (a → a → Boolean) → a → List a → List a", "documentation": { "kind": "markdown", "value": "Delete the first occurrence of an element from a list, using the specified\nfunction to determine equality of elements.\n\nRunning time: `O(n)`\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "deleteBy", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "deleteBy" }, "sortText": "Z.deleteBy", "additionalTextEdits": null, "filterText": null, "insertText": "deleteBy", "kind": 12, "label": "deleteBy" }, { "detail": "∀ a. Eq a ⇒ List a → List a → List a", "documentation": { "kind": "markdown", "value": "Delete the first occurrence of each element in the second list from the first list.\n\nRunning time: `O(n^2)`\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "difference", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "difference" }, "sortText": "Z.difference", "additionalTextEdits": null, "filterText": null, "insertText": "difference", "kind": 12, "label": "difference" }, { "detail": "∀ a. Int → NonEmptyList a → List a", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drop", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "drop" }, "sortText": "Z.drop", "additionalTextEdits": null, "filterText": null, "insertText": "drop", "kind": 12, "label": "drop" }, { "detail": "∀ a. (a → Boolean) → NonEmptyList a → List a", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropWhile", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "dropWhile" }, "sortText": "Z.dropWhile", "additionalTextEdits": null, "filterText": null, "insertText": "dropWhile", "kind": 12, "label": "dropWhile" }, { "detail": "∀ k v. Ord k ⇒ k → Map k v → Map k v", "documentation": { "kind": "markdown", "value": "Delete a key and its corresponding value from a map.\n\n*From: Data.Map*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "delete", "Data.Map", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "delete" }, "sortText": "Z.delete", "additionalTextEdits": null, "filterText": null, "insertText": "delete", "kind": 12, "label": "delete" }, { "detail": "∀ k v w. Ord k ⇒ Map k v → Map k w → Map k v", "documentation": { "kind": "markdown", "value": "Difference of two maps. Return elements of the first map where\nthe keys do not exist in the second map.\n\n*From: Data.Map*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "difference", "Data.Map", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "difference" }, "sortText": "Z.difference", "additionalTextEdits": null, "filterText": null, "insertText": "difference", "kind": 12, "label": "difference" }, { "detail": "∀ k v. Ord k ⇒ k → Map k v → Map k v", "documentation": { "kind": "markdown", "value": "Delete a key and its corresponding value from a map.\n\n*From: Data.Map.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "delete", "Data.Map.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "delete" }, "sortText": "Z.delete", "additionalTextEdits": null, "filterText": null, "insertText": "delete", "kind": 12, "label": "delete" }, { "detail": "∀ k v w. Ord k ⇒ Map k v → Map k w → Map k v", "documentation": { "kind": "markdown", "value": "Difference of two maps. Return elements of the first map where\nthe keys do not exist in the second map.\n\n*From: Data.Map.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "difference", "Data.Map.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "difference" }, "sortText": "Z.difference", "additionalTextEdits": null, "filterText": null, "insertText": "difference", "kind": 12, "label": "difference" }, { "detail": "∀ a. Ord a ⇒ a → Set a → Set a", "documentation": { "kind": "markdown", "value": "Delete a value from a set\n\n*From: Data.Set*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "delete", "Data.Set", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "delete" }, "sortText": "Z.delete", "additionalTextEdits": null, "filterText": null, "insertText": "delete", "kind": 12, "label": "delete" }, { "detail": "∀ a. Ord a ⇒ Set a → Set a → Set a", "documentation": { "kind": "markdown", "value": "Form the set difference\n\n*From: Data.Set*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "difference", "Data.Set", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "difference" }, "sortText": "Z.difference", "additionalTextEdits": null, "filterText": null, "insertText": "difference", "kind": 12, "label": "difference" }, { "detail": "∀ a. Ord a ⇒ a → NonEmptySet a → Maybe (NonEmptySet a)", "documentation": { "kind": "markdown", "value": "Delete a value from a non-empty set. If this would empty the set, the\nresult is `Nothing`.\n\n*From: Data.Set.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "delete", "Data.Set.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "delete" }, "sortText": "Z.delete", "additionalTextEdits": null, "filterText": null, "insertText": "delete", "kind": 12, "label": "delete" }, { "detail": "∀ a. Ord a ⇒ NonEmptySet a → NonEmptySet a → Maybe (NonEmptySet a)", "documentation": { "kind": "markdown", "value": "Form the set difference. `Nothing` if the first is a subset of the second.\n\n*From: Data.Set.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "difference", "Data.Set.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "difference" }, "sortText": "Z.difference", "additionalTextEdits": null, "filterText": null, "insertText": "difference", "kind": 12, "label": "difference" }, { "detail": "Int → String → String", "documentation": { "kind": "markdown", "value": "Drops the given number of code points from the beginning of the string. If\nthe string does not have that many code points, returns the empty string.\nOperates in constant space and in time linear to the given number.\n\n```purescript\n>>> drop 5 \"𝐀𝐀 b c\"\n\"c\"\n-- compared to Data.String:\n>>> drop 5 \"𝐀𝐀 b c\"\n\"b c\" -- because \"𝐀\" occupies 2 code units\n```\n\n\n*From: Data.String*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drop", "Data.String", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "drop" }, "sortText": "Z.drop", "additionalTextEdits": null, "filterText": null, "insertText": "drop", "kind": 12, "label": "drop" }, { "detail": "(CodePoint → Boolean) → String → String", "documentation": { "kind": "markdown", "value": "Drops the leading sequence of code points which all match the given\npredicate from the string. Operates in constant space and in time linear\nto the length of the string.\n\n```purescript\n>>> dropWhile (\\c -> codePointToInt c == 0x1D400) \"𝐀𝐀 b c 𝐀\"\n\" b c 𝐀\"\n```\n\n\n*From: Data.String*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropWhile", "Data.String", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "dropWhile" }, "sortText": "Z.dropWhile", "additionalTextEdits": null, "filterText": null, "insertText": "dropWhile", "kind": 12, "label": "dropWhile" }, { "detail": "Int → String → String", "documentation": { "kind": "markdown", "value": "Drops the given number of code points from the beginning of the string. If\nthe string does not have that many code points, returns the empty string.\nOperates in constant space and in time linear to the given number.\n\n```purescript\n>>> drop 5 \"𝐀𝐀 b c\"\n\"c\"\n-- compared to Data.String:\n>>> drop 5 \"𝐀𝐀 b c\"\n\"b c\" -- because \"𝐀\" occupies 2 code units\n```\n\n\n*From: Data.String.CodePoints*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drop", "Data.String.CodePoints", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "drop" }, "sortText": "Z.drop", "additionalTextEdits": null, "filterText": null, "insertText": "drop", "kind": 12, "label": "drop" }, { "detail": "(CodePoint → Boolean) → String → String", "documentation": { "kind": "markdown", "value": "Drops the leading sequence of code points which all match the given\npredicate from the string. Operates in constant space and in time linear\nto the length of the string.\n\n```purescript\n>>> dropWhile (\\c -> codePointToInt c == 0x1D400) \"𝐀𝐀 b c 𝐀\"\n\" b c 𝐀\"\n```\n\n\n*From: Data.String.CodePoints*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropWhile", "Data.String.CodePoints", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "dropWhile" }, "sortText": "Z.dropWhile", "additionalTextEdits": null, "filterText": null, "insertText": "dropWhile", "kind": 12, "label": "dropWhile" }, { "detail": "Int → String → String", "documentation": { "kind": "markdown", "value": "Returns the string without the first `n` characters.\n\n```purescript\ndrop 6 \"Hello World\" == \"World\"\n```\n\n\n*From: Data.String.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drop", "Data.String.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "drop" }, "sortText": "Z.drop", "additionalTextEdits": null, "filterText": null, "insertText": "drop", "kind": 12, "label": "drop" }, { "detail": "Int → String → String", "documentation": { "kind": "markdown", "value": "Returns the string without the last `n` characters.\n\n```purescript\ndropRight 6 \"Hello World\" == \"Hello\"\n```\n\n\n*From: Data.String.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropRight", "Data.String.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "dropRight" }, "sortText": "Z.dropRight", "additionalTextEdits": null, "filterText": null, "insertText": "dropRight", "kind": 12, "label": "dropRight" }, { "detail": "(Char → Boolean) → String → String", "documentation": { "kind": "markdown", "value": "Returns the suffix remaining after `takeWhile`.\n\n```purescript\ndropWhile (_ /= '.') \"Test.purs\" == \".purs\"\n```\n\n\n*From: Data.String.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropWhile", "Data.String.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "dropWhile" }, "sortText": "Z.dropWhile", "additionalTextEdits": null, "filterText": null, "insertText": "dropWhile", "kind": 12, "label": "dropWhile" }, { "detail": "Int → NonEmptyString → Maybe NonEmptyString", "documentation": { "kind": "markdown", "value": "\n*From: Data.String.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drop", "Data.String.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "drop" }, "sortText": "Z.drop", "additionalTextEdits": null, "filterText": null, "insertText": "drop", "kind": 12, "label": "drop" }, { "detail": "(CodePoint → Boolean) → NonEmptyString → Maybe NonEmptyString", "documentation": { "kind": "markdown", "value": "\n*From: Data.String.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropWhile", "Data.String.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "dropWhile" }, "sortText": "Z.dropWhile", "additionalTextEdits": null, "filterText": null, "insertText": "dropWhile", "kind": 12, "label": "dropWhile" }, { "detail": "Int → NonEmptyString → Maybe NonEmptyString", "documentation": { "kind": "markdown", "value": "\n*From: Data.String.NonEmpty.CodePoints*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drop", "Data.String.NonEmpty.CodePoints", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "drop" }, "sortText": "Z.drop", "additionalTextEdits": null, "filterText": null, "insertText": "drop", "kind": 12, "label": "drop" }, { "detail": "(CodePoint → Boolean) → NonEmptyString → Maybe NonEmptyString", "documentation": { "kind": "markdown", "value": "\n*From: Data.String.NonEmpty.CodePoints*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropWhile", "Data.String.NonEmpty.CodePoints", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "dropWhile" }, "sortText": "Z.dropWhile", "additionalTextEdits": null, "filterText": null, "insertText": "dropWhile", "kind": 12, "label": "dropWhile" }, { "detail": "Int → NonEmptyString → Maybe NonEmptyString", "documentation": { "kind": "markdown", "value": "Returns the string without the first `n` characters. Returns `Nothing` if\nmore characters are dropped than the string is long.\n\n```purescript\ndrop 6 (NonEmptyString \"Hello World\") == Just (NonEmptyString \"World\")\ndrop 20 (NonEmptyString \"Hello World\") == Nothing\n```\n\n*From: Data.String.NonEmpty.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drop", "Data.String.NonEmpty.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "drop" }, "sortText": "Z.drop", "additionalTextEdits": null, "filterText": null, "insertText": "drop", "kind": 12, "label": "drop" }, { "detail": "Int → NonEmptyString → Maybe NonEmptyString", "documentation": { "kind": "markdown", "value": "Returns the string without the last `n` characters. Returns `Nothing` if\nmore characters are dropped than the string is long.\n\n```purescript\ndropRight 6 (NonEmptyString \"Hello World\") == Just (NonEmptyString \"Hello\")\ndropRight 20 (NonEmptyString \"Hello World\") == Nothing\n```\n\n*From: Data.String.NonEmpty.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropRight", "Data.String.NonEmpty.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "dropRight" }, "sortText": "Z.dropRight", "additionalTextEdits": null, "filterText": null, "insertText": "dropRight", "kind": 12, "label": "dropRight" }, { "detail": "(Char → Boolean) → NonEmptyString → Maybe NonEmptyString", "documentation": { "kind": "markdown", "value": "Returns the suffix remaining after `takeWhile`.\n\n```purescript\ndropWhile (_ /= '.') (NonEmptyString \"Test.purs\") == Just (NonEmptyString \".purs\")\n```\n\n*From: Data.String.NonEmpty.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropWhile", "Data.String.NonEmpty.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "dropWhile" }, "sortText": "Z.dropWhile", "additionalTextEdits": null, "filterText": null, "insertText": "dropWhile", "kind": 12, "label": "dropWhile" }, { "detail": "∀ d. Duration d ⇒ Time → Time → d", "documentation": { "kind": "markdown", "value": "Calculates the difference between two times, returning the result as a\nduration.\n\n*From: Data.Time*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "diff", "Data.Time", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "diff" }, "sortText": "Z.diff", "additionalTextEdits": null, "filterText": null, "insertText": "diff", "kind": 12, "label": "diff" }, { "detail": "Milliseconds → Aff Unit", "documentation": { "kind": "markdown", "value": "Pauses the running fiber.\n\n*From: Effect.Aff*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "delay", "Effect.Aff", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "delay" }, "sortText": "Z.delay", "additionalTextEdits": null, "filterText": null, "insertText": "delay", "kind": 12, "label": "delay" }, { "detail": "String → Maybe String", "documentation": { "kind": "markdown", "value": "URI decoding. Returns `Nothing` when given a value with undecodeable\nescape sequences.\n\n*From: Global*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "decodeURI", "Global", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "decodeURI" }, "sortText": "Z.decodeURI", "additionalTextEdits": null, "filterText": null, "insertText": "decodeURI", "kind": 12, "label": "decodeURI" }, { "detail": "String → Maybe String", "documentation": { "kind": "markdown", "value": "URI component decoding. Returns `Nothing` when given a value with\nundecodeable escape sequences.\n\n*From: Global*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "decodeURIComponent", "Global", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "decodeURIComponent" }, "sortText": "Z.decodeURIComponent", "additionalTextEdits": null, "filterText": null, "insertText": "decodeURIComponent", "kind": 12, "label": "decodeURIComponent" }, { "detail": "WriteStreamOptions", "documentation": { "kind": "markdown", "value": "\n*From: Node.FS.Stream*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultWriteStreamOptions", "Node.FS.Stream", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "defaultWriteStreamOptions" }, "sortText": "Z.defaultWriteStreamOptions", "additionalTextEdits": null, "filterText": null, "insertText": "defaultWriteStreamOptions", "kind": 12, "label": "defaultWriteStreamOptions" }, { "detail": "ReadStreamOptions", "documentation": { "kind": "markdown", "value": "\n*From: Node.FS.Stream*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultReadStreamOptions", "Node.FS.Stream", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "defaultReadStreamOptions" }, "sortText": "Z.defaultReadStreamOptions", "additionalTextEdits": null, "filterText": null, "insertText": "defaultReadStreamOptions", "kind": 12, "label": "defaultReadStreamOptions" }, { "detail": "FilePath → FilePath", "documentation": { "kind": "markdown", "value": "Return the directory name of a path.\n\n*From: Node.Path*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dirname", "Node.Path", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "dirname" }, "sortText": "Z.dirname", "additionalTextEdits": null, "filterText": null, "insertText": "dirname", "kind": 12, "label": "dirname" }, { "detail": "String", "documentation": { "kind": "markdown", "value": "The platform-specific path delimiter, `;` or `:`.\n\n*From: Node.Path*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "delimiter", "Node.Path", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "delimiter" }, "sortText": "Z.delimiter", "additionalTextEdits": null, "filterText": null, "insertText": "delimiter", "kind": 12, "label": "delimiter" }, { "detail": "∀ r. Stream r → Effect Unit", "documentation": { "kind": "markdown", "value": "Destroy the stream. It will release any internal resources.\n\n*From: Node.Stream*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "destroy", "Node.Stream", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "destroy" }, "sortText": "Z.destroy", "additionalTextEdits": null, "filterText": null, "insertText": "destroy", "kind": 12, "label": "destroy" }, { "detail": "∀ a m. Monad m ⇒ a → m Unit", "documentation": { "kind": "markdown", "value": "Discards a value\n\n*From: Pipes*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "discard", "Pipes", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "discard" }, "sortText": "Z.discard", "additionalTextEdits": null, "filterText": null, "insertText": "discard", "kind": 12, "label": "discard" }, { "detail": "∀ a m r. Monad m ⇒ Consumer_ a m r", "documentation": { "kind": "markdown", "value": "`discard` all incoming values\n\n*From: Pipes.Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drain", "Pipes.Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "drain" }, "sortText": "Z.drain", "additionalTextEdits": null, "filterText": null, "insertText": "drain", "kind": 12, "label": "drain" }, { "detail": "∀ a m r. Monad m ⇒ Int → Pipe a a m r", "documentation": { "kind": "markdown", "value": "drop discards n values going downstream\n\n*From: Pipes.Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drop", "Pipes.Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "drop" }, "sortText": "Z.drop", "additionalTextEdits": null, "filterText": null, "insertText": "drop", "kind": 12, "label": "drop" }, { "detail": "∀ a m r. Monad m ⇒ (a → Boolean) → Pipe a a m r", "documentation": { "kind": "markdown", "value": "dropWhile discards values going downstream until one violates the\n\n*From: Pipes.Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropWhile", "Pipes.Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "dropWhile" }, "sortText": "Z.dropWhile", "additionalTextEdits": null, "filterText": null, "insertText": "dropWhile", "kind": 12, "label": "dropWhile" }, { "detail": "∀ a. EuclideanRing a ⇒ a → Int", "documentation": { "kind": "markdown", "value": "\n*From: Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "degree", "Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "degree" }, "sortText": "Z.degree", "additionalTextEdits": null, "filterText": null, "insertText": "degree", "kind": 12, "label": "degree" }, { "detail": "∀ f b a. Discard a ⇒ Bind f ⇒ f a → (a → f b) → f b", "documentation": { "kind": "markdown", "value": "\n*From: Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "discard", "Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "discard" }, "sortText": "Z.discard", "additionalTextEdits": null, "filterText": null, "insertText": "discard", "kind": 12, "label": "discard" }, { "detail": "∀ a. HeytingAlgebra a ⇒ a → a → a", "documentation": { "kind": "markdown", "value": "\n*From: Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "disj", "Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "disj" }, "sortText": "Z.disj", "additionalTextEdits": null, "filterText": null, "insertText": "disj", "kind": 12, "label": "disj" }, { "detail": "∀ a. EuclideanRing a ⇒ a → a → a", "documentation": { "kind": "markdown", "value": "\n*From: Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "div", "Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "div" }, "sortText": "Z.div", "additionalTextEdits": null, "filterText": null, "insertText": "div", "kind": 12, "label": "div" }, { "detail": "∀ r1 r2 l a. IsSymbol l ⇒ Lacks l r1 ⇒ Cons l a r1 r2 ⇒ SProxy l → Record r2 → Record r1", "documentation": { "kind": "markdown", "value": "Delete a property for a label which is specified using a value-level proxy for\na type-level string.\n\nNote that the type of the resulting row must _lack_ the specified property.\nSince duplicate labels are allowed, this is checked with a type class constraint.\n\nFor example:\n\n```purescript\ndelete (SProxy :: SProxy \"x\")\n :: forall r a. Lacks \"x\" r => { x :: a | r } -> { | r }\n```\n\n*From: Record*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "delete", "Record", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "delete" }, "sortText": "Z.delete", "additionalTextEdits": null, "filterText": null, "insertText": "delete", "kind": 12, "label": "delete" }, { "detail": "∀ r1 r2 r3. Union r1 r2 r3 ⇒ Nub r3 r3 ⇒ Record r1 → Record r2 → Record r3", "documentation": { "kind": "markdown", "value": "Merges two records where no labels overlap. This restriction exhibits\nbetter inference than `merge` when the resulting record type is known,\nbut one argument is not.\n\nFor example, hole `?help` is inferred to have type `{ b :: Int }` here:\n\n```purescript\ndisjoinUnion { a: 5 } ?help :: { a :: Int, b :: Int }\n```\n\n*From: Record*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "disjointUnion", "Record", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "disjointUnion" }, "sortText": "Z.disjointUnion", "additionalTextEdits": null, "filterText": null, "insertText": "disjointUnion", "kind": 12, "label": "disjointUnion" }, { "detail": "∀ l a r1 r2. IsSymbol l ⇒ Lacks l r1 ⇒ Cons l a r1 r2 ⇒ SProxy l → Builder (Record r2) (Record r1)", "documentation": { "kind": "markdown", "value": "Build by deleting an existing field.\n\n*From: Record.Builder*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "delete", "Record.Builder", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "delete" }, "sortText": "Z.delete", "additionalTextEdits": null, "filterText": null, "insertText": "delete", "kind": 12, "label": "delete" }, { "detail": "∀ r1 r2 r3. Union r1 r2 r3 ⇒ Nub r3 r3 ⇒ Record r1 → Builder (Record r2) (Record r3)", "documentation": { "kind": "markdown", "value": "Build by merging some disjoint set of fields from another record.\n\n*From: Record.Builder*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "disjointUnion", "Record.Builder", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "disjointUnion" }, "sortText": "Z.disjointUnion", "additionalTextEdits": null, "filterText": null, "insertText": "disjointUnion", "kind": 12, "label": "disjointUnion" }, { "detail": "∀ m g i a. FocusWarning ⇒ Monad m ⇒ String → SpecT g i m a → SpecT g i m a", "documentation": { "kind": "markdown", "value": "Combine a group of specs into a described hierarchy and mark it as the\nonly group to actually be evaluated. (useful for quickly narrowing down\non a set)\n\n*From: Test.Spec*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "describeOnly", "Test.Spec", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "describeOnly" }, "sortText": "Z.describeOnly", "additionalTextEdits": null, "filterText": null, "insertText": "describeOnly", "kind": 12, "label": "describeOnly" }, { "detail": "∀ m g i a. Monad m ⇒ String → SpecT g i m a → SpecT g i m a", "documentation": { "kind": "markdown", "value": "Combine a group of specs into a described hierarchy.\n\n*From: Test.Spec*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "describe", "Test.Spec", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "describe" }, "sortText": "Z.describe", "additionalTextEdits": null, "filterText": null, "insertText": "describe", "kind": 12, "label": "describe" }, { "detail": "∀ m. MonadEffect m ⇒ String → m (Spec Unit)", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Discovery*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "discover", "Test.Spec.Discovery", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "discover" }, "sortText": "Z.discover", "additionalTextEdits": null, "filterText": null, "insertText": "discover", "kind": 12, "label": "discover" }, { "detail": "∀ s. s → (Event → StateT s (Writer String) Unit) → Reporter", "documentation": { "kind": "markdown", "value": "A default reporter implementation that can be used as a base to build\nother reporters on top of.\n\n*From: Test.Spec.Reporter*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultReporter", "Test.Spec.Reporter", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "defaultReporter" }, "sortText": "Z.defaultReporter", "additionalTextEdits": null, "filterText": null, "insertText": "defaultReporter", "kind": 12, "label": "defaultReporter" }, { "detail": "∀ m. MonadWriter String m ⇒ Array (Tree Void Result) → m Unit", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Reporter*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultSummary", "Test.Spec.Reporter", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "defaultSummary" }, "sortText": "Z.defaultSummary", "additionalTextEdits": null, "filterText": null, "insertText": "defaultSummary", "kind": 12, "label": "defaultSummary" }, { "detail": "∀ s. { getRunningItems ∷ s -> Map Path RunningItem , printFinishedItem ∷ Path -> RunningItem -> StateT s (Writer String) Unit , putRunningItems ∷ Map Path RunningItem -> s -> s , update ∷ Event -> StateT s (Writer String) Unit } → (Event → StateT s (Writer String) Unit)", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Reporter*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultUpdate", "Test.Spec.Reporter", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "defaultUpdate" }, "sortText": "Z.defaultUpdate", "additionalTextEdits": null, "filterText": null, "insertText": "defaultUpdate", "kind": 3, "label": "defaultUpdate" }, { "detail": "DotReporterConfig → Reporter", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Reporter*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dotReporter", "Test.Spec.Reporter", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "dotReporter" }, "sortText": "Z.dotReporter", "additionalTextEdits": null, "filterText": null, "insertText": "dotReporter", "kind": 12, "label": "dotReporter" }, { "detail": "∀ m. MonadWriter String m ⇒ Array (Tree Void Result) → m Unit", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Reporter.Base*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultSummary", "Test.Spec.Reporter.Base", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "defaultSummary" }, "sortText": "Z.defaultSummary", "additionalTextEdits": null, "filterText": null, "insertText": "defaultSummary", "kind": 12, "label": "defaultSummary" }, { "detail": "∀ s. s → (Event → StateT s (Writer String) Unit) → Reporter", "documentation": { "kind": "markdown", "value": "A default reporter implementation that can be used as a base to build\nother reporters on top of.\n\n*From: Test.Spec.Reporter.Base*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultReporter", "Test.Spec.Reporter.Base", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "defaultReporter" }, "sortText": "Z.defaultReporter", "additionalTextEdits": null, "filterText": null, "insertText": "defaultReporter", "kind": 12, "label": "defaultReporter" }, { "detail": "∀ s. { getRunningItems ∷ s -> Map Path RunningItem , printFinishedItem ∷ Path -> RunningItem -> StateT s (Writer String) Unit , putRunningItems ∷ Map Path RunningItem -> s -> s , update ∷ Event -> StateT s (Writer String) Unit } → (Event → StateT s (Writer String) Unit)", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Reporter.Base*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultUpdate", "Test.Spec.Reporter.Base", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "defaultUpdate" }, "sortText": "Z.defaultUpdate", "additionalTextEdits": null, "filterText": null, "insertText": "defaultUpdate", "kind": 3, "label": "defaultUpdate" }, { "detail": "DotReporterConfig → Reporter", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Reporter.Dot*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dotReporter", "Test.Spec.Reporter.Dot", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "dotReporter" }, "sortText": "Z.dotReporter", "additionalTextEdits": null, "filterText": null, "insertText": "dotReporter", "kind": 12, "label": "dotReporter" }, { "detail": "Config", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Runner*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultConfig", "Test.Spec.Runner", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "defaultConfig" }, "sortText": "Z.defaultConfig", "additionalTextEdits": null, "filterText": null, "insertText": "defaultConfig", "kind": 12, "label": "defaultConfig" }, { "detail": "Style", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Style*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dim", "Test.Spec.Style", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "dim" }, "sortText": "Z.dim", "additionalTextEdits": null, "filterText": null, "insertText": "dim", "kind": 12, "label": "dim" }, { "detail": "∀ c m a. Array (Tree c (Item m a)) → Array (Tree c (Item m a))", "documentation": { "kind": "markdown", "value": "If there is at least one focused element, all paths which don't\nlead to a focused element will be remove. otherwise input will\nbe returned as unchanged.\n\n*From: Test.Spec.Tree*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "discardUnfocused", "Test.Spec.Tree", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "discardUnfocused" }, "sortText": "Z.discardUnfocused", "additionalTextEdits": null, "filterText": null, "insertText": "discardUnfocused", "kind": 12, "label": "discardUnfocused" }, { "detail": "∀ a. Ring a ⇒ a → a", "documentation": { "kind": "markdown", "value": "Subtracts one from input\n\n*From: Utils.Math*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dec", "Utils.Math", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "dec" }, "sortText": "Z.dec", "additionalTextEdits": null, "filterText": null, "insertText": "dec", "kind": 12, "label": "dec" }, { "detail": "∀ a. EuclideanRing a ⇒ Eq a ⇒ a → a → Boolean", "documentation": { "kind": "markdown", "value": "Checks if a number is divisible by another number\n```purescript\n> 10 `divisibleBy` 2\ntrue\n\n> 10 `divisibleBy` 3\nfalse\n```\n\n*From: Utils.Math*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "divisibleBy", "Utils.Math", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 23, "line": 8 }, "end": { "line": 8, "character": 24 } }, "newText": "divisibleBy" }, "sortText": "Z.divisibleBy", "additionalTextEdits": null, "filterText": null, "insertText": "divisibleBy", "kind": 12, "label": "divisibleBy" } ], "isIncomplete": false } [Trace - 4:16:54 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 64 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec)\n\nspec :: Spec Unit\nspec = describe \"Problems\" do\n describe \"Problem 1\" do\n \n" } ] } [Trace - 4:16:55 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 65 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec)\n\nspec :: Spec Unit\nspec = describe \"Problems\" do\n describe \"Problem 1\" do\n i\n" } ] } [Trace - 4:16:55 PM] Sending request 'textDocument/completion - (34)'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" }, "position": { "line": 9, "character": 6 }, "context": { "triggerKind": 1 } } [Trace - 4:16:55 PM] Received notification 'window/logMessage'. Params: { "type": 3, "message": "[Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead\n" } [Info - 4:16:55 PM] [Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead [Trace - 4:16:55 PM] Received response 'textDocument/completion - (34)' in 65ms. Result: { "items": [ { "detail": "NonEmptyList GraphicsParam", "documentation": { "kind": "markdown", "value": "\n*From: Ansi.Output*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "italic", "Ansi.Output", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "italic" }, "sortText": "Z.italic", "additionalTextEdits": null, "filterText": null, "insertText": "italic", "kind": 12, "label": "italic" }, { "detail": "NonEmptyList GraphicsParam", "documentation": { "kind": "markdown", "value": "\n*From: Ansi.Output*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "inverse", "Ansi.Output", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "inverse" }, "sortText": "Z.inverse", "additionalTextEdits": null, "filterText": null, "insertText": "inverse", "kind": 12, "label": "inverse" }, { "detail": "∀ a m. Bind m ⇒ m Boolean → m a → m a → m a", "documentation": { "kind": "markdown", "value": "Execute a monadic action if a condition holds.\n\nFor example:\n\n```purescript\nmain = ifM ((< 0.5) <$> random)\n (trace \"Heads\")\n (trace \"Tails\")\n```\n\n*From: Control.Bind*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "ifM", "Control.Bind", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "ifM" }, "sortText": "Z.ifM", "additionalTextEdits": null, "filterText": null, "insertText": "ifM", "kind": 12, "label": "ifM" }, { "detail": "∀ t a. Category a ⇒ a t t", "documentation": { "kind": "markdown", "value": "\n*From: Control.Category*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "identity", "Control.Category", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "identity" }, "sortText": "Z.identity", "additionalTextEdits": null, "filterText": null, "insertText": "identity", "kind": 12, "label": "identity" }, { "detail": "∀ a m. Bind m ⇒ m Boolean → m a → m a → m a", "documentation": { "kind": "markdown", "value": "Execute a monadic action if a condition holds.\n\nFor example:\n\n```purescript\nmain = ifM ((< 0.5) <$> random)\n (trace \"Heads\")\n (trace \"Tails\")\n```\n\n*From: Control.Monad*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "ifM", "Control.Monad", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "ifM" }, "sortText": "Z.ifM", "additionalTextEdits": null, "filterText": null, "insertText": "ifM", "kind": 12, "label": "ifM" }, { "detail": "∀ f a. Monad f ⇒ (a → a) → a → ListT f a", "documentation": { "kind": "markdown", "value": "Generate an infinite list by iterating a function.\n\n*From: Control.Monad.List.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "iterate", "Control.Monad.List.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "iterate" }, "sortText": "Z.iterate", "additionalTextEdits": null, "filterText": null, "insertText": "iterate", "kind": 12, "label": "iterate" }, { "detail": "∀ a m. Bind m ⇒ m Boolean → m a → m a → m a", "documentation": { "kind": "markdown", "value": "Execute a monadic action if a condition holds.\n\nFor example:\n\n```purescript\nmain = ifM ((< 0.5) <$> random)\n (trace \"Heads\")\n (trace \"Tails\")\n```\n\n*From: Control.MonadPlus*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "ifM", "Control.MonadPlus", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "ifM" }, "sortText": "Z.ifM", "additionalTextEdits": null, "filterText": null, "insertText": "ifM", "kind": 12, "label": "ifM" }, { "detail": "∀ a m. Bind m ⇒ m Boolean → m a → m a → m a", "documentation": { "kind": "markdown", "value": "Execute a monadic action if a condition holds.\n\nFor example:\n\n```purescript\nmain = ifM ((< 0.5) <$> random)\n (trace \"Heads\")\n (trace \"Tails\")\n```\n\n*From: Control.MonadZero*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "ifM", "Control.MonadZero", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "ifM" }, "sortText": "Z.ifM", "additionalTextEdits": null, "filterText": null, "insertText": "ifM", "kind": 12, "label": "ifM" }, { "detail": "∀ a. Ord a ⇒ a → Array a → Array a", "documentation": { "kind": "markdown", "value": "Insert an element into a sorted array.\n\n```purescript\ninsert 10 [1, 2, 20, 21] = [1, 2, 10, 20, 21]\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insert", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "insert" }, "sortText": "Z.insert", "additionalTextEdits": null, "filterText": null, "insertText": "insert", "kind": 12, "label": "insert" }, { "detail": "∀ a. (a → a → Ordering) → a → Array a → Array a", "documentation": { "kind": "markdown", "value": "Insert an element into a sorted array, using the specified function to\ndetermine the ordering of elements.\n\n```purescript\ninvertCompare a b = invert $ compare a b\n\ninsertBy invertCompare 10 [21, 20, 2, 1] = [21, 20, 10, 2, 1]\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insertBy", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "insertBy" }, "sortText": "Z.insertBy", "additionalTextEdits": null, "filterText": null, "insertText": "insertBy", "kind": 12, "label": "insertBy" }, { "detail": "∀ a. Array a → Maybe (Array a)", "documentation": { "kind": "markdown", "value": "Get all but the last element of an array, creating a new array, or\n`Nothing` if the array is empty.\n\n```purescript\ninit [1, 2, 3, 4] = Just [1, 2, 3]\ninit [] = Nothing\n```\n\nRunning time: `O(n)` where `n` is the length of the array\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "init", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "init" }, "sortText": "Z.init", "additionalTextEdits": null, "filterText": null, "insertText": "init", "kind": 12, "label": "init" }, { "detail": "∀ a. Array a → Int → Maybe a", "documentation": { "kind": "markdown", "value": "This function provides a safe way to read a value at a particular index\nfrom an array.\n\n```purescript\nsentence = [\"Hello\", \"World\", \"!\"]\n\nindex sentence 0 = Just \"Hello\"\nindex sentence 7 = Nothing\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "index", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "index" }, "sortText": "Z.index", "additionalTextEdits": null, "filterText": null, "insertText": "index", "kind": 12, "label": "index" }, { "detail": "∀ a. Int → a → Array a → Maybe (Array a)", "documentation": { "kind": "markdown", "value": "Insert an element at the specified index, creating a new array, or\nreturning `Nothing` if the index is out of bounds.\n\n```purescript\ninsertAt 2 \"!\" [\"Hello\", \"World\"] = Just [\"Hello\", \"World\", \"!\"]\ninsertAt 10 \"!\" [\"Hello\"] = Nothing\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insertAt", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "insertAt" }, "sortText": "Z.insertAt", "additionalTextEdits": null, "filterText": null, "insertText": "insertAt", "kind": 12, "label": "insertAt" }, { "detail": "∀ a. Eq a ⇒ Array a → Array a → Array a", "documentation": { "kind": "markdown", "value": "Calculate the intersection of two arrays, creating a new array. Note that\nduplicates in the first array are preserved while duplicates in the second\narray are removed.\n\n```purescript\nintersect [1, 1, 2] [2, 2, 1] = [1, 1, 2]\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersect", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "intersect" }, "sortText": "Z.intersect", "additionalTextEdits": null, "filterText": null, "insertText": "intersect", "kind": 12, "label": "intersect" }, { "detail": "∀ a. (a → a → Boolean) → Array a → Array a → Array a", "documentation": { "kind": "markdown", "value": "Calculate the intersection of two arrays, using the specified equivalence\nrelation to compare elements, creating a new array. Note that duplicates\nin the first array are preserved while duplicates in the second array are\nremoved.\n\n```purescript\nmod3eq a b = a `mod` 3 == b `mod` 3\nintersectBy mod3eq [1, 2, 3] [4, 6, 7] = [1, 3]\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersectBy", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "intersectBy" }, "sortText": "Z.intersectBy", "additionalTextEdits": null, "filterText": null, "insertText": "intersectBy", "kind": 12, "label": "intersectBy" }, { "detail": "∀ f m. Foldable f ⇒ Monoid m ⇒ m → f m → m", "documentation": { "kind": "markdown", "value": "Fold a data structure, accumulating values in some `Monoid`,\ncombining adjacent elements using the specified separator.\n\nFor example:\n\n```purescript\n> intercalate \", \" [\"Lorem\", \"ipsum\", \"dolor\"]\n= \"Lorem, ipsum, dolor\"\n\n> intercalate \"*\" [\"a\", \"b\", \"c\"]\n= \"a*b*c\"\n\n> intercalate [1] [[2, 3], [4, 5], [6, 7]]\n= [2, 3, 1, 4, 5, 1, 6, 7]\n```\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intercalate", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "intercalate" }, "sortText": "Z.intercalate", "additionalTextEdits": null, "filterText": null, "insertText": "intercalate", "kind": 12, "label": "intercalate" }, { "detail": "∀ a. Ord a ⇒ a → NonEmptyArray a → NonEmptyArray a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insert", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "insert" }, "sortText": "Z.insert", "additionalTextEdits": null, "filterText": null, "insertText": "insert", "kind": 12, "label": "insert" }, { "detail": "∀ a. (a → a → Ordering) → a → NonEmptyArray a → NonEmptyArray a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insertBy", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "insertBy" }, "sortText": "Z.insertBy", "additionalTextEdits": null, "filterText": null, "insertText": "insertBy", "kind": 12, "label": "insertBy" }, { "detail": "∀ a. NonEmptyArray a → Array a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "init", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "init" }, "sortText": "Z.init", "additionalTextEdits": null, "filterText": null, "insertText": "init", "kind": 12, "label": "init" }, { "detail": "∀ a. NonEmptyArray a → Int → Maybe a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "index", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "index" }, "sortText": "Z.index", "additionalTextEdits": null, "filterText": null, "insertText": "index", "kind": 12, "label": "index" }, { "detail": "∀ a. Int → a → NonEmptyArray a → Maybe (NonEmptyArray a)", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insertAt", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "insertAt" }, "sortText": "Z.insertAt", "additionalTextEdits": null, "filterText": null, "insertText": "insertAt", "kind": 12, "label": "insertAt" }, { "detail": "∀ a. Eq a ⇒ NonEmptyArray a → NonEmptyArray a → Array a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersect", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "intersect" }, "sortText": "Z.intersect", "additionalTextEdits": null, "filterText": null, "insertText": "intersect", "kind": 12, "label": "intersect" }, { "detail": "∀ a. Eq a ⇒ NonEmptyArray a → Array a → Array a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersect'", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "intersect'" }, "sortText": "Z.intersect'", "additionalTextEdits": null, "filterText": null, "insertText": "intersect'", "kind": 12, "label": "intersect'" }, { "detail": "∀ a. (a → a → Boolean) → NonEmptyArray a → NonEmptyArray a → Array a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersectBy", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "intersectBy" }, "sortText": "Z.intersectBy", "additionalTextEdits": null, "filterText": null, "insertText": "intersectBy", "kind": 12, "label": "intersectBy" }, { "detail": "∀ a. (a → a → Boolean) → NonEmptyArray a → Array a → Array a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersectBy'", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "intersectBy'" }, "sortText": "Z.intersectBy'", "additionalTextEdits": null, "filterText": null, "insertText": "intersectBy'", "kind": 12, "label": "intersectBy'" }, { "detail": "∀ a. Partial ⇒ Array a → Array a", "documentation": { "kind": "markdown", "value": "Get all but the last element of a non-empty array.\n\nRunning time: `O(n)`, where `n` is the length of the array.\n\n*From: Data.Array.Partial*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "init", "Data.Array.Partial", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "init" }, "sortText": "Z.init", "additionalTextEdits": null, "filterText": null, "insertText": "init", "kind": 12, "label": "init" }, { "detail": "∀ r a. (Int → Maybe a) → ST r (Iterator r a)", "documentation": { "kind": "markdown", "value": "Make an Iterator given an indexing function into an array (or anything\nelse). If `xs :: Array a`, the standard way to create an iterator over\n`xs` is to use `iterator (xs !! _)`, where `(!!)` comes from `Data.Array`.\n\n*From: Data.Array.ST.Iterator*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "iterator", "Data.Array.ST.Iterator", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "iterator" }, "sortText": "Z.iterator", "additionalTextEdits": null, "filterText": null, "insertText": "iterator", "kind": 12, "label": "iterator" }, { "detail": "∀ r a. Iterator r a → (a → ST r Unit) → ST r Unit", "documentation": { "kind": "markdown", "value": "Perform an action once for each item left in an iterator. If the action\nitself also advances the same iterator, `iterate` will miss those items\nout.\n\n*From: Data.Array.ST.Iterator*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "iterate", "Data.Array.ST.Iterator", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "iterate" }, "sortText": "Z.iterate", "additionalTextEdits": null, "filterText": null, "insertText": "iterate", "kind": 12, "label": "iterate" }, { "detail": "∀ a. HeytingAlgebra a ⇒ a → a → a", "documentation": { "kind": "markdown", "value": "\n*From: Data.BooleanAlgebra*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "implies", "Data.BooleanAlgebra", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "implies" }, "sortText": "Z.implies", "additionalTextEdits": null, "filterText": null, "insertText": "implies", "kind": 12, "label": "implies" }, { "detail": "Year → Boolean", "documentation": { "kind": "markdown", "value": "Checks whether a year is a leap year according to the proleptic Gregorian\ncalendar.\n\n*From: Data.Date*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isLeapYear", "Data.Date", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "isLeapYear" }, "sortText": "Z.isLeapYear", "additionalTextEdits": null, "filterText": null, "insertText": "isLeapYear", "kind": 12, "label": "isLeapYear" }, { "detail": "Milliseconds → Maybe Instant", "documentation": { "kind": "markdown", "value": "Attempts to create an `Instant` from a `Milliseconds` duration. The\nminimum acceptable value equates to the `bottom` `DateTime` and the maximum\nacceptable value equates to the `top` `DateTime`.\n\n*From: Data.DateTime.Instant*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "instant", "Data.DateTime.Instant", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "instant" }, "sortText": "Z.instant", "additionalTextEdits": null, "filterText": null, "insertText": "instant", "kind": 12, "label": "instant" }, { "detail": "∀ a b. Either a b → Boolean", "documentation": { "kind": "markdown", "value": "Returns `true` when the `Either` value was constructed with `Left`.\n\n*From: Data.Either*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isLeft", "Data.Either", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "isLeft" }, "sortText": "Z.isLeft", "additionalTextEdits": null, "filterText": null, "insertText": "isLeft", "kind": 12, "label": "isLeft" }, { "detail": "∀ a b. Either a b → Boolean", "documentation": { "kind": "markdown", "value": "Returns `true` when the `Either` value was constructed with `Right`.\n\n*From: Data.Either*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isRight", "Data.Either", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "isRight" }, "sortText": "Z.isRight", "additionalTextEdits": null, "filterText": null, "insertText": "isRight", "kind": 12, "label": "isRight" }, { "detail": "∀ b a. Inject a b ⇒ a → b", "documentation": { "kind": "markdown", "value": "\n*From: Data.Either.Inject*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "inj", "Data.Either.Inject", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "inj" }, "sortText": "Z.inj", "additionalTextEdits": null, "filterText": null, "insertText": "inj", "kind": 12, "label": "inj" }, { "detail": "∀ a z. a → a \\/ z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Either.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in1", "Data.Either.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "in1" }, "sortText": "Z.in1", "additionalTextEdits": null, "filterText": null, "insertText": "in1", "kind": 12, "label": "in1" }, { "detail": "∀ a b z. b → a \\/ b \\/ z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Either.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in2", "Data.Either.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "in2" }, "sortText": "Z.in2", "additionalTextEdits": null, "filterText": null, "insertText": "in2", "kind": 12, "label": "in2" }, { "detail": "∀ a b c z. c → a \\/ b \\/ c \\/ z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Either.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in3", "Data.Either.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "in3" }, "sortText": "Z.in3", "additionalTextEdits": null, "filterText": null, "insertText": "in3", "kind": 12, "label": "in3" }, { "detail": "∀ a b c d z. d → a \\/ b \\/ c \\/ d \\/ z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Either.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in4", "Data.Either.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "in4" }, "sortText": "Z.in4", "additionalTextEdits": null, "filterText": null, "insertText": "in4", "kind": 12, "label": "in4" }, { "detail": "∀ a b c d e z. e → a \\/ b \\/ c \\/ d \\/ e \\/ z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Either.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in5", "Data.Either.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "in5" }, "sortText": "Z.in5", "additionalTextEdits": null, "filterText": null, "insertText": "in5", "kind": 12, "label": "in5" }, { "detail": "∀ a b c d e f z. f → a \\/ b \\/ c \\/ d \\/ e \\/ f \\/ z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Either.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in6", "Data.Either.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "in6" }, "sortText": "Z.in6", "additionalTextEdits": null, "filterText": null, "insertText": "in6", "kind": 12, "label": "in6" }, { "detail": "∀ a b c d e f g z. g → a \\/ b \\/ c \\/ d \\/ e \\/ f \\/ g \\/ z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Either.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in7", "Data.Either.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "in7" }, "sortText": "Z.in7", "additionalTextEdits": null, "filterText": null, "insertText": "in7", "kind": 12, "label": "in7" }, { "detail": "∀ a b c d e f g h z. h → a \\/ b \\/ c \\/ d \\/ e \\/ f \\/ g \\/ h \\/ z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Either.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in8", "Data.Either.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "in8" }, "sortText": "Z.in8", "additionalTextEdits": null, "filterText": null, "insertText": "in8", "kind": 12, "label": "in8" }, { "detail": "∀ a b c d e f g h i z. i → a \\/ b \\/ c \\/ d \\/ e \\/ f \\/ g \\/ h \\/ i \\/ z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Either.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in9", "Data.Either.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "in9" }, "sortText": "Z.in9", "additionalTextEdits": null, "filterText": null, "insertText": "in9", "kind": 12, "label": "in9" }, { "detail": "∀ a b c d e f g h i j z. j → a \\/ b \\/ c \\/ d \\/ e \\/ f \\/ g \\/ h \\/ i \\/ j \\/ z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Either.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in10", "Data.Either.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "in10" }, "sortText": "Z.in10", "additionalTextEdits": null, "filterText": null, "insertText": "in10", "kind": 12, "label": "in10" }, { "detail": "∀ f m. Foldable f ⇒ Monoid m ⇒ m → f m → m", "documentation": { "kind": "markdown", "value": "Fold a data structure, accumulating values in some `Monoid`,\ncombining adjacent elements using the specified separator.\n\nFor example:\n\n```purescript\n> intercalate \", \" [\"Lorem\", \"ipsum\", \"dolor\"]\n= \"Lorem, ipsum, dolor\"\n\n> intercalate \"*\" [\"a\", \"b\", \"c\"]\n= \"a*b*c\"\n\n> intercalate [1] [[2, 3], [4, 5], [6, 7]]\n= [2, 3, 1, 4, 5, 1, 6, 7]\n```\n\n*From: Data.Foldable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intercalate", "Data.Foldable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "intercalate" }, "sortText": "Z.intercalate", "additionalTextEdits": null, "filterText": null, "insertText": "intercalate", "kind": 12, "label": "intercalate" }, { "detail": "∀ a f. Foldable f ⇒ Int → f a → Maybe a", "documentation": { "kind": "markdown", "value": "Try to get nth element from the left in a data structure\n\n*From: Data.Foldable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "indexl", "Data.Foldable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "indexl" }, "sortText": "Z.indexl", "additionalTextEdits": null, "filterText": null, "insertText": "indexl", "kind": 12, "label": "indexl" }, { "detail": "∀ a f. Foldable f ⇒ Int → f a → Maybe a", "documentation": { "kind": "markdown", "value": "Try to get nth element from the right in a data structure\n\n*From: Data.Foldable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "indexr", "Data.Foldable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "indexr" }, "sortText": "Z.indexr", "additionalTextEdits": null, "filterText": null, "insertText": "indexr", "kind": 12, "label": "indexr" }, { "detail": "∀ t a. Category a ⇒ a t t", "documentation": { "kind": "markdown", "value": "\n*From: Data.Function*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "identity", "Data.Function", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "identity" }, "sortText": "Z.identity", "additionalTextEdits": null, "filterText": null, "insertText": "identity", "kind": 12, "label": "identity" }, { "detail": "∀ f a b. Contravariant f ⇒ (a → b) → (b → a) → f a → f b", "documentation": { "kind": "markdown", "value": "As all `Contravariant` functors are also trivially `Invariant`, this function can be used as the `imap` implementation for any types that have an existing `Contravariant` instance.\n\n*From: Data.Functor.Contravariant*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "imapC", "Data.Functor.Contravariant", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "imapC" }, "sortText": "Z.imapC", "additionalTextEdits": null, "filterText": null, "insertText": "imapC", "kind": 12, "label": "imapC" }, { "detail": "∀ a g f. Inject f g ⇒ f a → g a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Coproduct.Inject*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "inj", "Data.Functor.Coproduct.Inject", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "inj" }, "sortText": "Z.inj", "additionalTextEdits": null, "filterText": null, "insertText": "inj", "kind": 12, "label": "inj" }, { "detail": "∀ a z. a ~> C2 a z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Coproduct.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in1", "Data.Functor.Coproduct.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "in1" }, "sortText": "Z.in1", "additionalTextEdits": null, "filterText": null, "insertText": "in1", "kind": 12, "label": "in1" }, { "detail": "∀ a b z. b ~> C3 a b z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Coproduct.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in2", "Data.Functor.Coproduct.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "in2" }, "sortText": "Z.in2", "additionalTextEdits": null, "filterText": null, "insertText": "in2", "kind": 12, "label": "in2" }, { "detail": "∀ a b c z. c ~> C4 a b c z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Coproduct.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in3", "Data.Functor.Coproduct.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "in3" }, "sortText": "Z.in3", "additionalTextEdits": null, "filterText": null, "insertText": "in3", "kind": 12, "label": "in3" }, { "detail": "∀ a b c d z. d ~> C5 a b c d z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Coproduct.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in4", "Data.Functor.Coproduct.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "in4" }, "sortText": "Z.in4", "additionalTextEdits": null, "filterText": null, "insertText": "in4", "kind": 12, "label": "in4" }, { "detail": "∀ a b c d e z. e ~> C6 a b c d e z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Coproduct.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in5", "Data.Functor.Coproduct.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "in5" }, "sortText": "Z.in5", "additionalTextEdits": null, "filterText": null, "insertText": "in5", "kind": 12, "label": "in5" }, { "detail": "∀ a b c d e f z. f ~> C7 a b c d e f z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Coproduct.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in6", "Data.Functor.Coproduct.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "in6" }, "sortText": "Z.in6", "additionalTextEdits": null, "filterText": null, "insertText": "in6", "kind": 12, "label": "in6" }, { "detail": "∀ a b c d e f g z. g ~> C8 a b c d e f g z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Coproduct.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in7", "Data.Functor.Coproduct.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "in7" }, "sortText": "Z.in7", "additionalTextEdits": null, "filterText": null, "insertText": "in7", "kind": 12, "label": "in7" }, { "detail": "∀ a b c d e f g h z. h ~> C9 a b c d e f g h z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Coproduct.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in8", "Data.Functor.Coproduct.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "in8" }, "sortText": "Z.in8", "additionalTextEdits": null, "filterText": null, "insertText": "in8", "kind": 12, "label": "in8" }, { "detail": "∀ a b c d e f g h i z. i ~> C10 a b c d e f g h i z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Coproduct.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in9", "Data.Functor.Coproduct.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "in9" }, "sortText": "Z.in9", "additionalTextEdits": null, "filterText": null, "insertText": "in9", "kind": 12, "label": "in9" }, { "detail": "∀ a b c d e f g h i j z. j ~> C11 a b c d e f g h i j z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Coproduct.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in10", "Data.Functor.Coproduct.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "in10" }, "sortText": "Z.in10", "additionalTextEdits": null, "filterText": null, "insertText": "in10", "kind": 12, "label": "in10" }, { "detail": "∀ a b f. Invariant f ⇒ (a → b) → (b → a) → f a → f b", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Invariant*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "imap", "Data.Functor.Invariant", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "imap" }, "sortText": "Z.imap", "additionalTextEdits": null, "filterText": null, "insertText": "imap", "kind": 12, "label": "imap" }, { "detail": "∀ f a b. Functor f ⇒ (a → b) → (b → a) → f a → f b", "documentation": { "kind": "markdown", "value": "As all `Functor`s are also trivially `Invariant`, this function can be\nused as the `imap` implementation for any types that has an existing\n`Functor` instance.\n\n*From: Data.Functor.Invariant*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "imapF", "Data.Functor.Invariant", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "imapF" }, "sortText": "Z.imapF", "additionalTextEdits": null, "filterText": null, "insertText": "imapF", "kind": 12, "label": "imapF" }, { "detail": "∀ a. HeytingAlgebra a ⇒ a → a → a", "documentation": { "kind": "markdown", "value": "\n*From: Data.HeytingAlgebra*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "implies", "Data.HeytingAlgebra", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "implies" }, "sortText": "Z.implies", "additionalTextEdits": null, "filterText": null, "insertText": "implies", "kind": 12, "label": "implies" }, { "detail": "∀ subrow row rowlist. HeytingAlgebraRecord rowlist row subrow ⇒ RLProxy rowlist → Record row → Record row → Record subrow", "documentation": { "kind": "markdown", "value": "\n*From: Data.HeytingAlgebra*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "impliesRecord", "Data.HeytingAlgebra", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "impliesRecord" }, "sortText": "Z.impliesRecord", "additionalTextEdits": null, "filterText": null, "insertText": "impliesRecord", "kind": 12, "label": "impliesRecord" }, { "detail": "JSDate → Boolean", "documentation": { "kind": "markdown", "value": "Checks whether a date value is valid. When a date is invalid, the majority\nof the functions return `NaN`, `\"Invalid Date\"`, or throw an exception.\n\n*From: Data.JSDate*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isValid", "Data.JSDate", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "isValid" }, "sortText": "Z.isValid", "additionalTextEdits": null, "filterText": null, "insertText": "isValid", "kind": 12, "label": "isValid" }, { "detail": "∀ a. Ord a ⇒ a → List a → List a", "documentation": { "kind": "markdown", "value": "Insert an element into a sorted list.\n\nRunning time: `O(n)`\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insert", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "insert" }, "sortText": "Z.insert", "additionalTextEdits": null, "filterText": null, "insertText": "insert", "kind": 12, "label": "insert" }, { "detail": "∀ a. (a → a → Ordering) → a → List a → List a", "documentation": { "kind": "markdown", "value": "Insert an element into a sorted list, using the specified function to\ndetermine the ordering of elements.\n\nRunning time: `O(n)`\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insertBy", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "insertBy" }, "sortText": "Z.insertBy", "additionalTextEdits": null, "filterText": null, "insertText": "insertBy", "kind": 12, "label": "insertBy" }, { "detail": "∀ a. List a → Maybe (List a)", "documentation": { "kind": "markdown", "value": "Get all but the last element of a list, or `Nothing` if the list is empty.\n\nRunning time: `O(n)`\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "init", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "init" }, "sortText": "Z.init", "additionalTextEdits": null, "filterText": null, "insertText": "init", "kind": 12, "label": "init" }, { "detail": "∀ a. List a → Int → Maybe a", "documentation": { "kind": "markdown", "value": "Get the element at the specified index, or `Nothing` if the index is out-of-bounds.\n\nRunning time: `O(n)` where `n` is the required index.\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "index", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "index" }, "sortText": "Z.index", "additionalTextEdits": null, "filterText": null, "insertText": "index", "kind": 12, "label": "index" }, { "detail": "∀ a. Int → a → List a → Maybe (List a)", "documentation": { "kind": "markdown", "value": "Insert an element into a list at the specified index, returning a new\nlist or `Nothing` if the index is out-of-bounds.\n\nRunning time: `O(n)`\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insertAt", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "insertAt" }, "sortText": "Z.insertAt", "additionalTextEdits": null, "filterText": null, "insertText": "insertAt", "kind": 12, "label": "insertAt" }, { "detail": "∀ a. Eq a ⇒ List a → List a → List a", "documentation": { "kind": "markdown", "value": "Calculate the intersection of two lists.\n\nRunning time: `O(n^2)`\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersect", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "intersect" }, "sortText": "Z.intersect", "additionalTextEdits": null, "filterText": null, "insertText": "intersect", "kind": 12, "label": "intersect" }, { "detail": "∀ a. (a → a → Boolean) → List a → List a → List a", "documentation": { "kind": "markdown", "value": "Calculate the intersection of two lists, using the specified\nfunction to determine equality of elements.\n\nRunning time: `O(n^2)`\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersectBy", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "intersectBy" }, "sortText": "Z.intersectBy", "additionalTextEdits": null, "filterText": null, "insertText": "intersectBy", "kind": 12, "label": "intersectBy" }, { "detail": "∀ f m. Foldable f ⇒ Monoid m ⇒ m → f m → m", "documentation": { "kind": "markdown", "value": "Fold a data structure, accumulating values in some `Monoid`,\ncombining adjacent elements using the specified separator.\n\nFor example:\n\n```purescript\n> intercalate \", \" [\"Lorem\", \"ipsum\", \"dolor\"]\n= \"Lorem, ipsum, dolor\"\n\n> intercalate \"*\" [\"a\", \"b\", \"c\"]\n= \"a*b*c\"\n\n> intercalate [1] [[2, 3], [4, 5], [6, 7]]\n= [2, 3, 1, 4, 5, 1, 6, 7]\n```\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intercalate", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "intercalate" }, "sortText": "Z.intercalate", "additionalTextEdits": null, "filterText": null, "insertText": "intercalate", "kind": 12, "label": "intercalate" }, { "detail": "∀ a. (a → a) → a → List a", "documentation": { "kind": "markdown", "value": "Create a list by iterating a function\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "iterate", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "iterate" }, "sortText": "Z.iterate", "additionalTextEdits": null, "filterText": null, "insertText": "iterate", "kind": 12, "label": "iterate" }, { "detail": "∀ a. Ord a ⇒ a → List a → List a", "documentation": { "kind": "markdown", "value": "Insert an element into a sorted list.\n\nRunning time: `O(n)`\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insert", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "insert" }, "sortText": "Z.insert", "additionalTextEdits": null, "filterText": null, "insertText": "insert", "kind": 12, "label": "insert" }, { "detail": "∀ a. (a → a → Ordering) → a → List a → List a", "documentation": { "kind": "markdown", "value": "Insert an element into a sorted list, using the specified function to determine the ordering\nof elements.\n\nRunning time: `O(n)`\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insertBy", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "insertBy" }, "sortText": "Z.insertBy", "additionalTextEdits": null, "filterText": null, "insertText": "insertBy", "kind": 12, "label": "insertBy" }, { "detail": "∀ a. List a → Maybe (List a)", "documentation": { "kind": "markdown", "value": "Get all but the last element of a list, or `Nothing` if the list is empty.\n\nRunning time: `O(n)`\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "init", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "init" }, "sortText": "Z.init", "additionalTextEdits": null, "filterText": null, "insertText": "init", "kind": 12, "label": "init" }, { "detail": "∀ a. List a → Int → Maybe a", "documentation": { "kind": "markdown", "value": "Get the element at the specified index, or `Nothing` if the index is out-of-bounds.\n\nRunning time: `O(n)` where `n` is the required index.\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "index", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "index" }, "sortText": "Z.index", "additionalTextEdits": null, "filterText": null, "insertText": "index", "kind": 12, "label": "index" }, { "detail": "∀ a. Int → a → List a → List a", "documentation": { "kind": "markdown", "value": "Insert an element into a list at the specified index, returning a new\nlist or `Nothing` if the index is out-of-bounds.\n\nThis function differs from the strict equivalent in that out-of-bounds arguments\nresult in the element being appended at the _end_ of the list.\n\nRunning time: `O(n)`\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insertAt", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "insertAt" }, "sortText": "Z.insertAt", "additionalTextEdits": null, "filterText": null, "insertText": "insertAt", "kind": 12, "label": "insertAt" }, { "detail": "∀ a. Eq a ⇒ List a → List a → List a", "documentation": { "kind": "markdown", "value": "Calculate the intersection of two lists.\n\nRunning time: `O(n^2)`\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersect", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "intersect" }, "sortText": "Z.intersect", "additionalTextEdits": null, "filterText": null, "insertText": "intersect", "kind": 12, "label": "intersect" }, { "detail": "∀ a. (a → a → Boolean) → List a → List a → List a", "documentation": { "kind": "markdown", "value": "Calculate the intersection of two lists, using the specified\nfunction to determine equality of elements.\n\nRunning time: `O(n^2)`\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersectBy", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "intersectBy" }, "sortText": "Z.intersectBy", "additionalTextEdits": null, "filterText": null, "insertText": "intersectBy", "kind": 12, "label": "intersectBy" }, { "detail": "∀ f m. Foldable f ⇒ Monoid m ⇒ m → f m → m", "documentation": { "kind": "markdown", "value": "Fold a data structure, accumulating values in some `Monoid`,\ncombining adjacent elements using the specified separator.\n\nFor example:\n\n```purescript\n> intercalate \", \" [\"Lorem\", \"ipsum\", \"dolor\"]\n= \"Lorem, ipsum, dolor\"\n\n> intercalate \"*\" [\"a\", \"b\", \"c\"]\n= \"a*b*c\"\n\n> intercalate [1] [[2, 3], [4, 5], [6, 7]]\n= [2, 3, 1, 4, 5, 1, 6, 7]\n```\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intercalate", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "intercalate" }, "sortText": "Z.intercalate", "additionalTextEdits": null, "filterText": null, "insertText": "intercalate", "kind": 12, "label": "intercalate" }, { "detail": "∀ a. (a → a) → a → NonEmptyList a", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.Lazy.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "iterate", "Data.List.Lazy.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "iterate" }, "sortText": "Z.iterate", "additionalTextEdits": null, "filterText": null, "insertText": "iterate", "kind": 12, "label": "iterate" }, { "detail": "NonEmptyList ~> List", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.Lazy.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "init", "Data.List.Lazy.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "init" }, "sortText": "Z.init", "additionalTextEdits": null, "filterText": null, "insertText": "init", "kind": 12, "label": "init" }, { "detail": "NonEmptyList ~> List", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "init", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "init" }, "sortText": "Z.init", "additionalTextEdits": null, "filterText": null, "insertText": "init", "kind": 12, "label": "init" }, { "detail": "∀ a. NonEmptyList a → Int → Maybe a", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "index", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "index" }, "sortText": "Z.index", "additionalTextEdits": null, "filterText": null, "insertText": "index", "kind": 12, "label": "index" }, { "detail": "∀ a. Int → a → NonEmptyList a → Maybe (NonEmptyList a)", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insertAt", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "insertAt" }, "sortText": "Z.insertAt", "additionalTextEdits": null, "filterText": null, "insertText": "insertAt", "kind": 12, "label": "insertAt" }, { "detail": "∀ a. Eq a ⇒ NonEmptyList a → NonEmptyList a → NonEmptyList a", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersect", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "intersect" }, "sortText": "Z.intersect", "additionalTextEdits": null, "filterText": null, "insertText": "intersect", "kind": 12, "label": "intersect" }, { "detail": "∀ a. (a → a → Boolean) → NonEmptyList a → NonEmptyList a → NonEmptyList a", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersectBy", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "intersectBy" }, "sortText": "Z.intersectBy", "additionalTextEdits": null, "filterText": null, "insertText": "intersectBy", "kind": 12, "label": "intersectBy" }, { "detail": "∀ f m. Foldable f ⇒ Monoid m ⇒ m → f m → m", "documentation": { "kind": "markdown", "value": "Fold a data structure, accumulating values in some `Monoid`,\ncombining adjacent elements using the specified separator.\n\nFor example:\n\n```purescript\n> intercalate \", \" [\"Lorem\", \"ipsum\", \"dolor\"]\n= \"Lorem, ipsum, dolor\"\n\n> intercalate \"*\" [\"a\", \"b\", \"c\"]\n= \"a*b*c\"\n\n> intercalate [1] [[2, 3], [4, 5], [6, 7]]\n= [2, 3, 1, 4, 5, 1, 6, 7]\n```\n\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intercalate", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "intercalate" }, "sortText": "Z.intercalate", "additionalTextEdits": null, "filterText": null, "insertText": "intercalate", "kind": 12, "label": "intercalate" }, { "detail": "∀ a. Partial ⇒ List a → List a", "documentation": { "kind": "markdown", "value": "Get all but the last element of a non-empty list.\n\nRunning time: `O(n)`\n\n*From: Data.List.Partial*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "init", "Data.List.Partial", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "init" }, "sortText": "Z.init", "additionalTextEdits": null, "filterText": null, "insertText": "init", "kind": 12, "label": "init" }, { "detail": "∀ k v. Ord k ⇒ k → v → Map k v → Map k v", "documentation": { "kind": "markdown", "value": "Insert or replace a key/value pair in a map\n\n*From: Data.Map*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insert", "Data.Map", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "insert" }, "sortText": "Z.insert", "additionalTextEdits": null, "filterText": null, "insertText": "insert", "kind": 12, "label": "insert" }, { "detail": "∀ k v. Ord k ⇒ (v → v → v) → k → v → Map k v → Map k v", "documentation": { "kind": "markdown", "value": "Inserts or updates a value with the given function.\n\nThe combining function is called with the existing value as the first\nargument and the new value as the second argument.\n\n*From: Data.Map*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insertWith", "Data.Map", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "insertWith" }, "sortText": "Z.insertWith", "additionalTextEdits": null, "filterText": null, "insertText": "insertWith", "kind": 12, "label": "insertWith" }, { "detail": "∀ k a b. Ord k ⇒ Map k a → Map k b → Map k a", "documentation": { "kind": "markdown", "value": "Compute the intersection of two maps, preferring values from the first map in the case\nof duplicate keys.\n\n*From: Data.Map*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersection", "Data.Map", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "intersection" }, "sortText": "Z.intersection", "additionalTextEdits": null, "filterText": null, "insertText": "intersection", "kind": 12, "label": "intersection" }, { "detail": "∀ k a b c. Ord k ⇒ (a → b → c) → Map k a → Map k b → Map k c", "documentation": { "kind": "markdown", "value": "Compute the intersection of two maps, using the specified function\nto combine values for duplicate keys.\n\n*From: Data.Map*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersectionWith", "Data.Map", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "intersectionWith" }, "sortText": "Z.intersectionWith", "additionalTextEdits": null, "filterText": null, "insertText": "intersectionWith", "kind": 12, "label": "intersectionWith" }, { "detail": "∀ k v. Map k v → Boolean", "documentation": { "kind": "markdown", "value": "Test if a map is empty\n\n*From: Data.Map*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isEmpty", "Data.Map", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "isEmpty" }, "sortText": "Z.isEmpty", "additionalTextEdits": null, "filterText": null, "insertText": "isEmpty", "kind": 12, "label": "isEmpty" }, { "detail": "∀ k v. Ord k ⇒ Eq v ⇒ Map k v → Map k v → Boolean", "documentation": { "kind": "markdown", "value": "Test whether one map contains all of the keys and values contained in another map\n\n*From: Data.Map*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isSubmap", "Data.Map", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "isSubmap" }, "sortText": "Z.isSubmap", "additionalTextEdits": null, "filterText": null, "insertText": "isSubmap", "kind": 12, "label": "isSubmap" }, { "detail": "∀ k v. Map k v → Boolean", "documentation": { "kind": "markdown", "value": "Test if a map is empty\n\n*From: Data.Map.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isEmpty", "Data.Map.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "isEmpty" }, "sortText": "Z.isEmpty", "additionalTextEdits": null, "filterText": null, "insertText": "isEmpty", "kind": 12, "label": "isEmpty" }, { "detail": "∀ k v. Ord k ⇒ k → v → Map k v → Map k v", "documentation": { "kind": "markdown", "value": "Insert or replace a key/value pair in a map\n\n*From: Data.Map.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insert", "Data.Map.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "insert" }, "sortText": "Z.insert", "additionalTextEdits": null, "filterText": null, "insertText": "insert", "kind": 12, "label": "insert" }, { "detail": "∀ k v. Ord k ⇒ (v → v → v) → k → v → Map k v → Map k v", "documentation": { "kind": "markdown", "value": "Inserts or updates a value with the given function.\n\nThe combining function is called with the existing value as the first\nargument and the new value as the second argument.\n\n*From: Data.Map.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insertWith", "Data.Map.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "insertWith" }, "sortText": "Z.insertWith", "additionalTextEdits": null, "filterText": null, "insertText": "insertWith", "kind": 12, "label": "insertWith" }, { "detail": "∀ k a b. Ord k ⇒ Map k a → Map k b → Map k a", "documentation": { "kind": "markdown", "value": "Compute the intersection of two maps, preferring values from the first map in the case\nof duplicate keys.\n\n*From: Data.Map.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersection", "Data.Map.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "intersection" }, "sortText": "Z.intersection", "additionalTextEdits": null, "filterText": null, "insertText": "intersection", "kind": 12, "label": "intersection" }, { "detail": "∀ k a b c. Ord k ⇒ (a → b → c) → Map k a → Map k b → Map k c", "documentation": { "kind": "markdown", "value": "Compute the intersection of two maps, using the specified function\nto combine values for duplicate keys.\n\n*From: Data.Map.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersectionWith", "Data.Map.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "intersectionWith" }, "sortText": "Z.intersectionWith", "additionalTextEdits": null, "filterText": null, "insertText": "intersectionWith", "kind": 12, "label": "intersectionWith" }, { "detail": "∀ k v. Ord k ⇒ Eq v ⇒ Map k v → Map k v → Boolean", "documentation": { "kind": "markdown", "value": "Test whether one map contains all of the keys and values contained in another map\n\n*From: Data.Map.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isSubmap", "Data.Map.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "isSubmap" }, "sortText": "Z.isSubmap", "additionalTextEdits": null, "filterText": null, "insertText": "isSubmap", "kind": 12, "label": "isSubmap" }, { "detail": "∀ a. Maybe a → Boolean", "documentation": { "kind": "markdown", "value": "Returns `true` when the `Maybe` value was constructed with `Just`.\n\n*From: Data.Maybe*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isJust", "Data.Maybe", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "isJust" }, "sortText": "Z.isJust", "additionalTextEdits": null, "filterText": null, "insertText": "isJust", "kind": 12, "label": "isJust" }, { "detail": "∀ a. Maybe a → Boolean", "documentation": { "kind": "markdown", "value": "Returns `true` when the `Maybe` value is `Nothing`.\n\n*From: Data.Maybe*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isNothing", "Data.Maybe", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "isNothing" }, "sortText": "Z.isNothing", "additionalTextEdits": null, "filterText": null, "insertText": "isNothing", "kind": 12, "label": "isNothing" }, { "detail": "Ordering → Ordering", "documentation": { "kind": "markdown", "value": "Reverses an `Ordering` value, flipping greater than for less than while\npreserving equality.\n\n*From: Data.Ordering*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "invert", "Data.Ordering", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "invert" }, "sortText": "Z.invert", "additionalTextEdits": null, "filterText": null, "insertText": "invert", "kind": 12, "label": "invert" }, { "detail": "∀ f m. Foldable1 f ⇒ Semigroup m ⇒ m → f m → m", "documentation": { "kind": "markdown", "value": "Fold a data structure using a `Semigroup` instance,\ncombining adjacent elements using the specified separator.\n\n*From: Data.Semigroup.Foldable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intercalate", "Data.Semigroup.Foldable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "intercalate" }, "sortText": "Z.intercalate", "additionalTextEdits": null, "filterText": null, "insertText": "intercalate", "kind": 12, "label": "intercalate" }, { "detail": "∀ f m a. Foldable1 f ⇒ Semigroup m ⇒ m → (a → m) → f a → m", "documentation": { "kind": "markdown", "value": "Fold a data structure, accumulating values in some `Semigroup`,\ncombining adjacent elements using the specified separator.\n\n*From: Data.Semigroup.Foldable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intercalateMap", "Data.Semigroup.Foldable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "intercalateMap" }, "sortText": "Z.intercalateMap", "additionalTextEdits": null, "filterText": null, "insertText": "intercalateMap", "kind": 12, "label": "intercalateMap" }, { "detail": "∀ a. Set a → Boolean", "documentation": { "kind": "markdown", "value": "Test if a set is empty\n\n*From: Data.Set*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isEmpty", "Data.Set", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "isEmpty" }, "sortText": "Z.isEmpty", "additionalTextEdits": null, "filterText": null, "insertText": "isEmpty", "kind": 12, "label": "isEmpty" }, { "detail": "∀ a. Ord a ⇒ a → Set a → Set a", "documentation": { "kind": "markdown", "value": "Insert a value into a set\n\n*From: Data.Set*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insert", "Data.Set", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "insert" }, "sortText": "Z.insert", "additionalTextEdits": null, "filterText": null, "insertText": "insert", "kind": 12, "label": "insert" }, { "detail": "∀ a. Ord a ⇒ Set a → Set a → Set a", "documentation": { "kind": "markdown", "value": "The set of elements which are in both the first and second set\n\n*From: Data.Set*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersection", "Data.Set", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "intersection" }, "sortText": "Z.intersection", "additionalTextEdits": null, "filterText": null, "insertText": "intersection", "kind": 12, "label": "intersection" }, { "detail": "∀ a. Ord a ⇒ a → NonEmptySet a → NonEmptySet a", "documentation": { "kind": "markdown", "value": "Insert a value into a set.\n\n*From: Data.Set.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insert", "Data.Set.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "insert" }, "sortText": "Z.insert", "additionalTextEdits": null, "filterText": null, "insertText": "insert", "kind": 12, "label": "insert" }, { "detail": "∀ a. Ord a ⇒ NonEmptySet a → NonEmptySet a → Maybe (NonEmptySet a)", "documentation": { "kind": "markdown", "value": "The set of elements which are in both the first and second set. `Nothing`\nif the sets are disjoint.\n\n*From: Data.Set.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersection", "Data.Set.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "intersection" }, "sortText": "Z.intersection", "additionalTextEdits": null, "filterText": null, "insertText": "intersection", "kind": 12, "label": "intersection" }, { "detail": "Pattern → String → Maybe Int", "documentation": { "kind": "markdown", "value": "Returns the number of code points preceding the first match of the given\npattern in the string. Returns Nothing when no matches are found.\n\n```purescript\n>>> indexOf (Pattern \"𝐀\") \"b 𝐀𝐀 c 𝐀\"\nJust 2\n>>> indexOf (Pattern \"o\") \"b 𝐀𝐀 c 𝐀\"\nNothing\n```\n\n\n*From: Data.String*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "indexOf", "Data.String", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "indexOf" }, "sortText": "Z.indexOf", "additionalTextEdits": null, "filterText": null, "insertText": "indexOf", "kind": 12, "label": "indexOf" }, { "detail": "Pattern → Int → String → Maybe Int", "documentation": { "kind": "markdown", "value": "Returns the number of code points preceding the first match of the given\npattern in the string. Pattern matches preceding the given index will be\nignored. Returns Nothing when no matches are found.\n\n```purescript\n>>> indexOf' (Pattern \"𝐀\") 4 \"b 𝐀𝐀 c 𝐀\"\nJust 7\n>>> indexOf' (Pattern \"o\") 4 \"b 𝐀𝐀 c 𝐀\"\nNothing\n```\n\n\n*From: Data.String*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "indexOf'", "Data.String", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "indexOf'" }, "sortText": "Z.indexOf'", "additionalTextEdits": null, "filterText": null, "insertText": "indexOf'", "kind": 12, "label": "indexOf'" }, { "detail": "Pattern → String → Maybe Int", "documentation": { "kind": "markdown", "value": "Returns the number of code points preceding the first match of the given\npattern in the string. Returns Nothing when no matches are found.\n\n```purescript\n>>> indexOf (Pattern \"𝐀\") \"b 𝐀𝐀 c 𝐀\"\nJust 2\n>>> indexOf (Pattern \"o\") \"b 𝐀𝐀 c 𝐀\"\nNothing\n```\n\n\n*From: Data.String.CodePoints*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "indexOf", "Data.String.CodePoints", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "indexOf" }, "sortText": "Z.indexOf", "additionalTextEdits": null, "filterText": null, "insertText": "indexOf", "kind": 12, "label": "indexOf" }, { "detail": "Pattern → Int → String → Maybe Int", "documentation": { "kind": "markdown", "value": "Returns the number of code points preceding the first match of the given\npattern in the string. Pattern matches preceding the given index will be\nignored. Returns Nothing when no matches are found.\n\n```purescript\n>>> indexOf' (Pattern \"𝐀\") 4 \"b 𝐀𝐀 c 𝐀\"\nJust 7\n>>> indexOf' (Pattern \"o\") 4 \"b 𝐀𝐀 c 𝐀\"\nNothing\n```\n\n\n*From: Data.String.CodePoints*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "indexOf'", "Data.String.CodePoints", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "indexOf'" }, "sortText": "Z.indexOf'", "additionalTextEdits": null, "filterText": null, "insertText": "indexOf'", "kind": 12, "label": "indexOf'" }, { "detail": "Pattern → String → Maybe Int", "documentation": { "kind": "markdown", "value": "Returns the index of the first occurrence of the pattern in the\ngiven string. Returns `Nothing` if there is no match.\n\n```purescript\nindexOf (Pattern \"c\") \"abcdc\" == Just 2\nindexOf (Pattern \"c\") \"aaa\" == Nothing\n```\n\n\n*From: Data.String.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "indexOf", "Data.String.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "indexOf" }, "sortText": "Z.indexOf", "additionalTextEdits": null, "filterText": null, "insertText": "indexOf", "kind": 12, "label": "indexOf" }, { "detail": "Pattern → Int → String → Maybe Int", "documentation": { "kind": "markdown", "value": "Returns the index of the first occurrence of the pattern in the\ngiven string, starting at the specified index. Returns `Nothing` if there is\nno match.\n\n```purescript\nindexOf' (Pattern \"a\") 2 \"ababa\" == Just 2\nindexOf' (Pattern \"a\") 3 \"ababa\" == Just 4\n```\n\n\n*From: Data.String.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "indexOf'", "Data.String.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "indexOf'" }, "sortText": "Z.indexOf'", "additionalTextEdits": null, "filterText": null, "insertText": "indexOf'", "kind": 12, "label": "indexOf'" }, { "detail": "Pattern → NonEmptyString → Maybe Int", "documentation": { "kind": "markdown", "value": "\n*From: Data.String.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "indexOf", "Data.String.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "indexOf" }, "sortText": "Z.indexOf", "additionalTextEdits": null, "filterText": null, "insertText": "indexOf", "kind": 12, "label": "indexOf" }, { "detail": "Pattern → Int → NonEmptyString → Maybe Int", "documentation": { "kind": "markdown", "value": "\n*From: Data.String.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "indexOf'", "Data.String.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "indexOf'" }, "sortText": "Z.indexOf'", "additionalTextEdits": null, "filterText": null, "insertText": "indexOf'", "kind": 12, "label": "indexOf'" }, { "detail": "Pattern → NonEmptyString → Maybe Int", "documentation": { "kind": "markdown", "value": "\n*From: Data.String.NonEmpty.CodePoints*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "indexOf", "Data.String.NonEmpty.CodePoints", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "indexOf" }, "sortText": "Z.indexOf", "additionalTextEdits": null, "filterText": null, "insertText": "indexOf", "kind": 12, "label": "indexOf" }, { "detail": "Pattern → Int → NonEmptyString → Maybe Int", "documentation": { "kind": "markdown", "value": "\n*From: Data.String.NonEmpty.CodePoints*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "indexOf'", "Data.String.NonEmpty.CodePoints", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "indexOf'" }, "sortText": "Z.indexOf'", "additionalTextEdits": null, "filterText": null, "insertText": "indexOf'", "kind": 12, "label": "indexOf'" }, { "detail": "Pattern → NonEmptyString → Maybe Int", "documentation": { "kind": "markdown", "value": "Returns the index of the first occurrence of the pattern in the\ngiven string. Returns `Nothing` if there is no match.\n\n```purescript\nindexOf (Pattern \"c\") (NonEmptyString \"abcdc\") == Just 2\nindexOf (Pattern \"c\") (NonEmptyString \"aaa\") == Nothing\n```\n\n*From: Data.String.NonEmpty.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "indexOf", "Data.String.NonEmpty.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "indexOf" }, "sortText": "Z.indexOf", "additionalTextEdits": null, "filterText": null, "insertText": "indexOf", "kind": 12, "label": "indexOf" }, { "detail": "Pattern → Int → NonEmptyString → Maybe Int", "documentation": { "kind": "markdown", "value": "Returns the index of the first occurrence of the pattern in the\ngiven string, starting at the specified index. Returns `Nothing` if there is\nno match.\n\n```purescript\nindexOf' (Pattern \"a\") 2 (NonEmptyString \"ababa\") == Just 2\nindexOf' (Pattern \"a\") 3 (NonEmptyString \"ababa\") == Just 4\n```\n\n*From: Data.String.NonEmpty.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "indexOf'", "Data.String.NonEmpty.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "indexOf'" }, "sortText": "Z.indexOf'", "additionalTextEdits": null, "filterText": null, "insertText": "indexOf'", "kind": 12, "label": "indexOf'" }, { "detail": "RegexFlags", "documentation": { "kind": "markdown", "value": "Only ignoreCase flag set to true\n\n*From: Data.String.Regex.Flags*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "ignoreCase", "Data.String.Regex.Flags", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "ignoreCase" }, "sortText": "Z.ignoreCase", "additionalTextEdits": null, "filterText": null, "insertText": "ignoreCase", "kind": 12, "label": "ignoreCase" }, { "detail": "∀ f m. Foldable f ⇒ Monoid m ⇒ m → f m → m", "documentation": { "kind": "markdown", "value": "Fold a data structure, accumulating values in some `Monoid`,\ncombining adjacent elements using the specified separator.\n\nFor example:\n\n```purescript\n> intercalate \", \" [\"Lorem\", \"ipsum\", \"dolor\"]\n= \"Lorem, ipsum, dolor\"\n\n> intercalate \"*\" [\"a\", \"b\", \"c\"]\n= \"a*b*c\"\n\n> intercalate [1] [[2, 3], [4, 5], [6, 7]]\n= [2, 3, 1, 4, 5, 1, 6, 7]\n```\n\n*From: Data.Traversable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intercalate", "Data.Traversable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "intercalate" }, "sortText": "Z.intercalate", "additionalTextEdits": null, "filterText": null, "insertText": "intercalate", "kind": 12, "label": "intercalate" }, { "detail": "∀ a. AVarStatus a → Boolean", "documentation": { "kind": "markdown", "value": "\n*From: Effect.AVar*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isEmpty", "Effect.AVar", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "isEmpty" }, "sortText": "Z.isEmpty", "additionalTextEdits": null, "filterText": null, "insertText": "isEmpty", "kind": 12, "label": "isEmpty" }, { "detail": "∀ a. AVarStatus a → Boolean", "documentation": { "kind": "markdown", "value": "\n*From: Effect.AVar*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isFilled", "Effect.AVar", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "isFilled" }, "sortText": "Z.isFilled", "additionalTextEdits": null, "filterText": null, "insertText": "isFilled", "kind": 12, "label": "isFilled" }, { "detail": "∀ a. AVarStatus a → Boolean", "documentation": { "kind": "markdown", "value": "\n*From: Effect.AVar*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isKilled", "Effect.AVar", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "isKilled" }, "sortText": "Z.isKilled", "additionalTextEdits": null, "filterText": null, "insertText": "isKilled", "kind": 12, "label": "isKilled" }, { "detail": "∀ a. Aff a → Aff a", "documentation": { "kind": "markdown", "value": "Runs an effect such that it cannot be killed.\n\n*From: Effect.Aff*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "invincible", "Effect.Aff", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "invincible" }, "sortText": "Z.invincible", "additionalTextEdits": null, "filterText": null, "insertText": "invincible", "kind": 12, "label": "invincible" }, { "detail": "∀ a. AVarStatus a → Boolean", "documentation": { "kind": "markdown", "value": "\n*From: Effect.Aff.AVar*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isEmpty", "Effect.Aff.AVar", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "isEmpty" }, "sortText": "Z.isEmpty", "additionalTextEdits": null, "filterText": null, "insertText": "isEmpty", "kind": 12, "label": "isEmpty" }, { "detail": "∀ a. AVarStatus a → Boolean", "documentation": { "kind": "markdown", "value": "\n*From: Effect.Aff.AVar*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isFilled", "Effect.Aff.AVar", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "isFilled" }, "sortText": "Z.isFilled", "additionalTextEdits": null, "filterText": null, "insertText": "isFilled", "kind": 12, "label": "isFilled" }, { "detail": "∀ a. AVarStatus a → Boolean", "documentation": { "kind": "markdown", "value": "\n*From: Effect.Aff.AVar*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isKilled", "Effect.Aff.AVar", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "isKilled" }, "sortText": "Z.isKilled", "additionalTextEdits": null, "filterText": null, "insertText": "isKilled", "kind": 12, "label": "isKilled" }, { "detail": "∀ m. MonadEffect m ⇒ String → m Unit", "documentation": { "kind": "markdown", "value": "\n*From: Effect.Class.Console*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "info", "Effect.Class.Console", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "info" }, "sortText": "Z.info", "additionalTextEdits": null, "filterText": null, "insertText": "info", "kind": 12, "label": "info" }, { "detail": "∀ m a. MonadEffect m ⇒ Show a ⇒ a → m Unit", "documentation": { "kind": "markdown", "value": "\n*From: Effect.Class.Console*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "infoShow", "Effect.Class.Console", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "infoShow" }, "sortText": "Z.infoShow", "additionalTextEdits": null, "filterText": null, "insertText": "infoShow", "kind": 12, "label": "infoShow" }, { "detail": "String → Effect Unit", "documentation": { "kind": "markdown", "value": "Write an info message to the console.\n\n*From: Effect.Console*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "info", "Effect.Console", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "info" }, "sortText": "Z.info", "additionalTextEdits": null, "filterText": null, "insertText": "info", "kind": 12, "label": "info" }, { "detail": "∀ a. Show a ⇒ a → Effect Unit", "documentation": { "kind": "markdown", "value": "Write an info value to the console, using its `Show` instance to produce a\n`String`.\n\n*From: Effect.Console*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "infoShow", "Effect.Console", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "infoShow" }, "sortText": "Z.infoShow", "additionalTextEdits": null, "filterText": null, "insertText": "infoShow", "kind": 12, "label": "infoShow" }, { "detail": "Foreign → Boolean", "documentation": { "kind": "markdown", "value": "Test whether a foreign value is null\n\n*From: Foreign*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isNull", "Foreign", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "isNull" }, "sortText": "Z.isNull", "additionalTextEdits": null, "filterText": null, "insertText": "isNull", "kind": 12, "label": "isNull" }, { "detail": "Foreign → Boolean", "documentation": { "kind": "markdown", "value": "Test whether a foreign value is undefined\n\n*From: Foreign*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isUndefined", "Foreign", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "isUndefined" }, "sortText": "Z.isUndefined", "additionalTextEdits": null, "filterText": null, "insertText": "isUndefined", "kind": 12, "label": "isUndefined" }, { "detail": "Foreign → Boolean", "documentation": { "kind": "markdown", "value": "Test whether a foreign value is an array\n\n*From: Foreign*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isArray", "Foreign", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "isArray" }, "sortText": "Z.isArray", "additionalTextEdits": null, "filterText": null, "insertText": "isArray", "kind": 12, "label": "isArray" }, { "detail": "∀ i a. Indexable a ⇒ Index i ⇒ a → i → ExceptT (NonEmptyList ForeignError) Identity Foreign", "documentation": { "kind": "markdown", "value": "\n*From: Foreign.Index*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "ix", "Foreign.Index", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "ix" }, "sortText": "Z.ix", "additionalTextEdits": null, "filterText": null, "insertText": "ix", "kind": 12, "label": "ix" }, { "detail": "∀ i. Index i ⇒ Foreign → i → ExceptT (NonEmptyList ForeignError) Identity Foreign", "documentation": { "kind": "markdown", "value": "\n*From: Foreign.Index*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "index", "Foreign.Index", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "index" }, "sortText": "Z.index", "additionalTextEdits": null, "filterText": null, "insertText": "index", "kind": 12, "label": "index" }, { "detail": "Number → Boolean", "documentation": { "kind": "markdown", "value": "Test whether a number is NaN\n\n*From: Global*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isNaN", "Global", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "isNaN" }, "sortText": "Z.isNaN", "additionalTextEdits": null, "filterText": null, "insertText": "isNaN", "kind": 12, "label": "isNaN" }, { "detail": "Number", "documentation": { "kind": "markdown", "value": "Positive infinity\n\n*From: Global*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "infinity", "Global", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "infinity" }, "sortText": "Z.infinity", "additionalTextEdits": null, "filterText": null, "insertText": "infinity", "kind": 12, "label": "infinity" }, { "detail": "Number → Boolean", "documentation": { "kind": "markdown", "value": "Test whether a number is finite\n\n*From: Global*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isFinite", "Global", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "isFinite" }, "sortText": "Z.isFinite", "additionalTextEdits": null, "filterText": null, "insertText": "isFinite", "kind": 12, "label": "isFinite" }, { "detail": "Stats → Boolean", "documentation": { "kind": "markdown", "value": "\n*From: Node.FS.Stats*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isFile", "Node.FS.Stats", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "isFile" }, "sortText": "Z.isFile", "additionalTextEdits": null, "filterText": null, "insertText": "isFile", "kind": 12, "label": "isFile" }, { "detail": "Stats → Boolean", "documentation": { "kind": "markdown", "value": "\n*From: Node.FS.Stats*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isDirectory", "Node.FS.Stats", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "isDirectory" }, "sortText": "Z.isDirectory", "additionalTextEdits": null, "filterText": null, "insertText": "isDirectory", "kind": 12, "label": "isDirectory" }, { "detail": "Stats → Boolean", "documentation": { "kind": "markdown", "value": "\n*From: Node.FS.Stats*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isBlockDevice", "Node.FS.Stats", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "isBlockDevice" }, "sortText": "Z.isBlockDevice", "additionalTextEdits": null, "filterText": null, "insertText": "isBlockDevice", "kind": 12, "label": "isBlockDevice" }, { "detail": "Stats → Boolean", "documentation": { "kind": "markdown", "value": "\n*From: Node.FS.Stats*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isCharacterDevice", "Node.FS.Stats", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "isCharacterDevice" }, "sortText": "Z.isCharacterDevice", "additionalTextEdits": null, "filterText": null, "insertText": "isCharacterDevice", "kind": 12, "label": "isCharacterDevice" }, { "detail": "Stats → Boolean", "documentation": { "kind": "markdown", "value": "\n*From: Node.FS.Stats*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isFIFO", "Node.FS.Stats", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "isFIFO" }, "sortText": "Z.isFIFO", "additionalTextEdits": null, "filterText": null, "insertText": "isFIFO", "kind": 12, "label": "isFIFO" }, { "detail": "Stats → Boolean", "documentation": { "kind": "markdown", "value": "\n*From: Node.FS.Stats*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isSocket", "Node.FS.Stats", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "isSocket" }, "sortText": "Z.isSocket", "additionalTextEdits": null, "filterText": null, "insertText": "isSocket", "kind": 12, "label": "isSocket" }, { "detail": "Stats → Boolean", "documentation": { "kind": "markdown", "value": "\n*From: Node.FS.Stats*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isSymbolicLink", "Node.FS.Stats", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "isSymbolicLink" }, "sortText": "Z.isSymbolicLink", "additionalTextEdits": null, "filterText": null, "insertText": "isSymbolicLink", "kind": 12, "label": "isSymbolicLink" }, { "detail": "String → Boolean", "documentation": { "kind": "markdown", "value": "Determines whether path is an absolute path\n\n*From: Node.Path*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isAbsolute", "Node.Path", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "isAbsolute" }, "sortText": "Z.isAbsolute", "additionalTextEdits": null, "filterText": null, "insertText": "isAbsolute", "kind": 12, "label": "isAbsolute" }, { "detail": "∀ w. Readable w → Effect Boolean", "documentation": { "kind": "markdown", "value": "Check whether or not a stream is paused for reading.\n\n*From: Node.Stream*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isPaused", "Node.Stream", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "isPaused" }, "sortText": "Z.isPaused", "additionalTextEdits": null, "filterText": null, "insertText": "isPaused", "kind": 12, "label": "isPaused" }, { "detail": "∀ a m. Monad m ⇒ Int → Producer a m Unit → m (Maybe a)", "documentation": { "kind": "markdown", "value": "Index into a `Producer`\n\n*From: Pipes.Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "index", "Pipes.Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "index" }, "sortText": "Z.index", "additionalTextEdits": null, "filterText": null, "insertText": "index", "kind": 12, "label": "index" }, { "detail": "∀ t a. Category a ⇒ a t t", "documentation": { "kind": "markdown", "value": "\n*From: Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "identity", "Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "identity" }, "sortText": "Z.identity", "additionalTextEdits": null, "filterText": null, "insertText": "identity", "kind": 12, "label": "identity" }, { "detail": "∀ a m. Bind m ⇒ m Boolean → m a → m a → m a", "documentation": { "kind": "markdown", "value": "Execute a monadic action if a condition holds.\n\nFor example:\n\n```purescript\nmain = ifM ((< 0.5) <$> random)\n (trace \"Heads\")\n (trace \"Tails\")\n```\n\n*From: Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "ifM", "Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "ifM" }, "sortText": "Z.ifM", "additionalTextEdits": null, "filterText": null, "insertText": "ifM", "kind": 12, "label": "ifM" }, { "detail": "∀ r1 r2 l a. IsSymbol l ⇒ Lacks l r1 ⇒ Cons l a r1 r2 ⇒ SProxy l → a → Record r1 → Record r2", "documentation": { "kind": "markdown", "value": "Insert a new property for a label which is specified using a value-level proxy for\na type-level string.\n\nFor example:\n\n```purescript\ninsert (SProxy :: SProxy \"x\")\n :: forall r a. Lacks \"x\" r => a -> { | r } -> { x :: a | r }\n```\n\n*From: Record*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insert", "Record", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "insert" }, "sortText": "Z.insert", "additionalTextEdits": null, "filterText": null, "insertText": "insert", "kind": 12, "label": "insert" }, { "detail": "∀ l a r1 r2. Cons l a r1 r2 ⇒ Lacks l r1 ⇒ IsSymbol l ⇒ SProxy l → a → Builder (Record r1) (Record r2)", "documentation": { "kind": "markdown", "value": "Build by inserting a new field.\n\n*From: Record.Builder*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insert", "Record.Builder", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "insert" }, "sortText": "Z.insert", "additionalTextEdits": null, "filterText": null, "insertText": "insert", "kind": 12, "label": "insert" }, { "detail": "∀ m t arg g. FocusWarning ⇒ Monad m ⇒ Example t arg g ⇒ String → t → SpecT g arg m Unit", "documentation": { "kind": "markdown", "value": "Create a spec with a description and mark it as the only one to\nbe run. (useful for quickly narrowing down on a single test)\n\n*From: Test.Spec*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "itOnly", "Test.Spec", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "itOnly" }, "sortText": "Z.itOnly", "additionalTextEdits": null, "filterText": null, "insertText": "itOnly", "kind": 12, "label": "itOnly" }, { "detail": "∀ m t arg g. Monad m ⇒ Example t arg g ⇒ String → t → SpecT g arg m Unit", "documentation": { "kind": "markdown", "value": "Create a spec with a description.\n\n*From: Test.Spec*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "it", "Test.Spec", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "it" }, "sortText": "Z.it", "additionalTextEdits": null, "filterText": null, "insertText": "it", "kind": 12, "label": "it" }, { "detail": "Int → String", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Style*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "indent", "Test.Spec.Style", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "indent" }, "sortText": "Z.indent", "additionalTextEdits": null, "filterText": null, "insertText": "indent", "kind": 12, "label": "indent" }, { "detail": "∀ c m a. Tree c (Item m a) → Boolean", "documentation": { "kind": "markdown", "value": "Return true if all items in the tree are parallelizable\n\n*From: Test.Spec.Tree*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isAllParallelizable", "Test.Spec.Tree", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "isAllParallelizable" }, "sortText": "Z.isAllParallelizable", "additionalTextEdits": null, "filterText": null, "insertText": "isAllParallelizable", "kind": 12, "label": "isAllParallelizable" }, { "detail": "∀ a. Semiring a ⇒ a → a", "documentation": { "kind": "markdown", "value": "Adds one to input\n\n*From: Utils.Math*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "inc", "Utils.Math", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "inc" }, "sortText": "Z.inc", "additionalTextEdits": null, "filterText": null, "insertText": "inc", "kind": 12, "label": "inc" } ], "isIncomplete": false } [Trace - 4:16:56 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 66 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec)\n\nspec :: Spec Unit\nspec = describe \"Problems\" do\n describe \"Problem 1\" do\n it \n" } ] } [Trace - 4:16:56 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 67 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec)\n\nspec :: Spec Unit\nspec = describe \"Problems\" do\n describe \"Problem 1\" do\n it \"\n" } ] } [Trace - 4:16:56 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 68 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec)\n\nspec :: Spec Unit\nspec = describe \"Problems\" do\n describe \"Problem 1\" do\n it \"r\n" } ] } [Trace - 4:16:56 PM] Sending request 'textDocument/completion - (35)'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" }, "position": { "line": 9, "character": 10 }, "context": { "triggerKind": 1 } } [Trace - 4:16:56 PM] Received notification 'window/logMessage'. Params: { "type": 3, "message": "[Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead\n" } [Info - 4:16:56 PM] [Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead [Trace - 4:16:56 PM] Received response 'textDocument/completion - (35)' in 50ms. Result: { "items": [ { "detail": "∀ e a. Env e a → Tuple e a", "documentation": { "kind": "markdown", "value": "Unwrap a value in the `Env` comonad.\n\n*From: Control.Comonad.Env*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runEnv", "Control.Comonad.Env", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runEnv" }, "sortText": "Z.runEnv", "additionalTextEdits": null, "filterText": null, "insertText": "runEnv", "kind": 12, "label": "runEnv" }, { "detail": "∀ e w a. EnvT e w a → Tuple e (w a)", "documentation": { "kind": "markdown", "value": "Unwrap a value in the `EnvT` comonad.\n\n*From: Control.Comonad.Env*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runEnvT", "Control.Comonad.Env", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runEnvT" }, "sortText": "Z.runEnvT", "additionalTextEdits": null, "filterText": null, "insertText": "runEnvT", "kind": 12, "label": "runEnvT" }, { "detail": "∀ e w a. EnvT e w a → Tuple e (w a)", "documentation": { "kind": "markdown", "value": "Unwrap a value in the `EnvT` comonad.\n\n*From: Control.Comonad.Env.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runEnvT", "Control.Comonad.Env.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runEnvT" }, "sortText": "Z.runEnvT", "additionalTextEdits": null, "filterText": null, "insertText": "runEnvT", "kind": 12, "label": "runEnvT" }, { "detail": "∀ s a. Store s a → Tuple (s → a) s", "documentation": { "kind": "markdown", "value": "Unwrap a value in the `Store` comonad.\n\n*From: Control.Comonad.Store*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runStore", "Control.Comonad.Store", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runStore" }, "sortText": "Z.runStore", "additionalTextEdits": null, "filterText": null, "insertText": "runStore", "kind": 12, "label": "runStore" }, { "detail": "∀ s w a. StoreT s w a → Tuple (w (s → a)) s", "documentation": { "kind": "markdown", "value": "Unwrap a value in the `StoreT` comonad.\n\n*From: Control.Comonad.Store*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runStoreT", "Control.Comonad.Store", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runStoreT" }, "sortText": "Z.runStoreT", "additionalTextEdits": null, "filterText": null, "insertText": "runStoreT", "kind": 12, "label": "runStoreT" }, { "detail": "∀ s w a. StoreT s w a → Tuple (w (s → a)) s", "documentation": { "kind": "markdown", "value": "Unwrap a value in the `StoreT` comonad.\n\n*From: Control.Comonad.Store.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runStoreT", "Control.Comonad.Store.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runStoreT" }, "sortText": "Z.runStoreT", "additionalTextEdits": null, "filterText": null, "insertText": "runStoreT", "kind": 12, "label": "runStoreT" }, { "detail": "∀ m a. Traced m a → m → a", "documentation": { "kind": "markdown", "value": "Unwrap a value in the `Traced` comonad.\n\n*From: Control.Comonad.Traced*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runTraced", "Control.Comonad.Traced", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runTraced" }, "sortText": "Z.runTraced", "additionalTextEdits": null, "filterText": null, "insertText": "runTraced", "kind": 12, "label": "runTraced" }, { "detail": "∀ w a t. TracedT t w a → w (t → a)", "documentation": { "kind": "markdown", "value": "Unwrap a value in the `TracedT` comonad.\n\n*From: Control.Comonad.Traced*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runTracedT", "Control.Comonad.Traced", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runTracedT" }, "sortText": "Z.runTracedT", "additionalTextEdits": null, "filterText": null, "insertText": "runTracedT", "kind": 12, "label": "runTracedT" }, { "detail": "∀ w a t. TracedT t w a → w (t → a)", "documentation": { "kind": "markdown", "value": "Unwrap a value in the `TracedT` comonad.\n\n*From: Control.Comonad.Traced.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runTracedT", "Control.Comonad.Traced.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runTracedT" }, "sortText": "Z.runTracedT", "additionalTextEdits": null, "filterText": null, "insertText": "runTracedT", "kind": 12, "label": "runTracedT" }, { "detail": "∀ r a. ContT r Identity a → (a → r) → r", "documentation": { "kind": "markdown", "value": "Runs a computation in the `Cont` monad.\n\n*From: Control.Monad.Cont*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runCont", "Control.Monad.Cont", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runCont" }, "sortText": "Z.runCont", "additionalTextEdits": null, "filterText": null, "insertText": "runCont", "kind": 12, "label": "runCont" }, { "detail": "∀ r m a. ContT r m a → (a → m r) → m r", "documentation": { "kind": "markdown", "value": "Run a computation in the `ContT` monad, by providing a continuation.\n\n*From: Control.Monad.Cont*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runContT", "Control.Monad.Cont", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runContT" }, "sortText": "Z.runContT", "additionalTextEdits": null, "filterText": null, "insertText": "runContT", "kind": 12, "label": "runContT" }, { "detail": "∀ r m a. ContT r m a → (a → m r) → m r", "documentation": { "kind": "markdown", "value": "Run a computation in the `ContT` monad, by providing a continuation.\n\n*From: Control.Monad.Cont.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runContT", "Control.Monad.Cont.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runContT" }, "sortText": "Z.runContT", "additionalTextEdits": null, "filterText": null, "insertText": "runContT", "kind": 12, "label": "runContT" }, { "detail": "∀ e a. Except e a → Either e a", "documentation": { "kind": "markdown", "value": "Run a computation in the `Except` monad. The inverse of `except`.\n\n*From: Control.Monad.Except*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runExcept", "Control.Monad.Except", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runExcept" }, "sortText": "Z.runExcept", "additionalTextEdits": null, "filterText": null, "insertText": "runExcept", "kind": 12, "label": "runExcept" }, { "detail": "∀ e m a. ExceptT e m a → m (Either e a)", "documentation": { "kind": "markdown", "value": "The inverse of `ExceptT`. Run a computation in the `ExceptT` monad.\n\n*From: Control.Monad.Except*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runExceptT", "Control.Monad.Except", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runExceptT" }, "sortText": "Z.runExceptT", "additionalTextEdits": null, "filterText": null, "insertText": "runExceptT", "kind": 12, "label": "runExceptT" }, { "detail": "∀ e m a. ExceptT e m a → m (Either e a)", "documentation": { "kind": "markdown", "value": "The inverse of `ExceptT`. Run a computation in the `ExceptT` monad.\n\n*From: Control.Monad.Except.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runExceptT", "Control.Monad.Except.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runExceptT" }, "sortText": "Z.runExceptT", "additionalTextEdits": null, "filterText": null, "insertText": "runExceptT", "kind": 12, "label": "runExceptT" }, { "detail": "∀ f a. Functor f ⇒ (f (Free f a) → Free f a) → Free f a → a", "documentation": { "kind": "markdown", "value": "Run a free monad with a function that unwraps a single layer of the functor\n`f` at a time.\n\n*From: Control.Monad.Free*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runFree", "Control.Monad.Free", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runFree" }, "sortText": "Z.runFree", "additionalTextEdits": null, "filterText": null, "insertText": "runFree", "kind": 12, "label": "runFree" }, { "detail": "∀ f m a. Functor f ⇒ MonadRec m ⇒ (f (Free f a) → m (Free f a)) → Free f a → m a", "documentation": { "kind": "markdown", "value": "Run a free monad with a function mapping a functor `f` to a tail-recursive\nmonad `m`. See the `MonadRec` type class for more details.\n\n*From: Control.Monad.Free*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runFreeM", "Control.Monad.Free", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runFreeM" }, "sortText": "Z.runFreeM", "additionalTextEdits": null, "filterText": null, "insertText": "runFreeM", "kind": 12, "label": "runFreeM" }, { "detail": "∀ f a. Functor f ⇒ Free f a → Either (f (Free f a)) a", "documentation": { "kind": "markdown", "value": "Unwraps a single layer of the functor `f`.\n\n*From: Control.Monad.Free*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "resume", "Control.Monad.Free", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "resume" }, "sortText": "Z.resume", "additionalTextEdits": null, "filterText": null, "insertText": "resume", "kind": 12, "label": "resume" }, { "detail": "∀ f a r. (∀ b. f b → (b → Free f a) → r) → (a → r) → Free f a → r", "documentation": { "kind": "markdown", "value": "Unwraps a single layer of `f`, providing the continuation.\n\n*From: Control.Monad.Free*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "resume'", "Control.Monad.Free", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "resume'" }, "sortText": "Z.resume'", "additionalTextEdits": null, "filterText": null, "insertText": "resume'", "kind": 12, "label": "resume'" }, { "detail": "∀ a m. MonadGen m ⇒ (Int → Int) → m a → m a", "documentation": { "kind": "markdown", "value": "\n*From: Control.Monad.Gen*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "resize", "Control.Monad.Gen", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "resize" }, "sortText": "Z.resize", "additionalTextEdits": null, "filterText": null, "insertText": "resize", "kind": 12, "label": "resize" }, { "detail": "∀ a m. MonadGen m ⇒ (Int → Int) → m a → m a", "documentation": { "kind": "markdown", "value": "\n*From: Control.Monad.Gen.Class*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "resize", "Control.Monad.Gen.Class", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "resize" }, "sortText": "Z.resize", "additionalTextEdits": null, "filterText": null, "insertText": "resize", "kind": 12, "label": "resize" }, { "detail": "∀ f a. Monad f ⇒ a → ListT f a", "documentation": { "kind": "markdown", "value": "Generate an infinite list by repeating a value.\n\n*From: Control.Monad.List.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "repeat", "Control.Monad.List.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "repeat" }, "sortText": "Z.repeat", "additionalTextEdits": null, "filterText": null, "insertText": "repeat", "kind": 12, "label": "repeat" }, { "detail": "∀ f a. Monad f ⇒ ListT f a → f Unit", "documentation": { "kind": "markdown", "value": "Drain a `ListT`, running it to completion and discarding all values.\n\n*From: Control.Monad.List.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runListT", "Control.Monad.List.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runListT" }, "sortText": "Z.runListT", "additionalTextEdits": null, "filterText": null, "insertText": "runListT", "kind": 12, "label": "runListT" }, { "detail": "∀ f a. MonadRec f ⇒ ListT f a → f Unit", "documentation": { "kind": "markdown", "value": "Drain a `ListT`, running it to completion and discarding all values.\nStack safe: Uses tail call optimization.\n\n*From: Control.Monad.List.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runListTRec", "Control.Monad.List.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runListTRec" }, "sortText": "Z.runListTRec", "additionalTextEdits": null, "filterText": null, "insertText": "runListTRec", "kind": 12, "label": "runListTRec" }, { "detail": "∀ m a. MaybeT m a → m (Maybe a)", "documentation": { "kind": "markdown", "value": "Run a computation in the `MaybeT` monad.\n\n*From: Control.Monad.Maybe.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runMaybeT", "Control.Monad.Maybe.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runMaybeT" }, "sortText": "Z.runMaybeT", "additionalTextEdits": null, "filterText": null, "insertText": "runMaybeT", "kind": 12, "label": "runMaybeT" }, { "detail": "∀ r w s a. (r → s → RWSResult s a w) → RWS r w s a", "documentation": { "kind": "markdown", "value": "Create an action in the `RWS` monad from a function which uses the\nglobal context and state explicitly.\n\n*From: Control.Monad.RWS*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "rws", "Control.Monad.RWS", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "rws" }, "sortText": "Z.rws", "additionalTextEdits": null, "filterText": null, "insertText": "rws", "kind": 12, "label": "rws" }, { "detail": "∀ r w s a. RWS r w s a → r → s → RWSResult s a w", "documentation": { "kind": "markdown", "value": "Run a computation in the `RWS` monad.\n\n*From: Control.Monad.RWS*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runRWS", "Control.Monad.RWS", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runRWS" }, "sortText": "Z.runRWS", "additionalTextEdits": null, "filterText": null, "insertText": "runRWS", "kind": 12, "label": "runRWS" }, { "detail": "∀ r w s m a. RWST r w s m a → r → s → m (RWSResult s a w)", "documentation": { "kind": "markdown", "value": "Run a computation in the `RWST` monad.\n\n*From: Control.Monad.RWS*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runRWST", "Control.Monad.RWS", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runRWST" }, "sortText": "Z.runRWST", "additionalTextEdits": null, "filterText": null, "insertText": "runRWST", "kind": 12, "label": "runRWST" }, { "detail": "∀ r w s m a. RWST r w s m a → r → s → m (RWSResult s a w)", "documentation": { "kind": "markdown", "value": "Run a computation in the `RWST` monad.\n\n*From: Control.Monad.RWS.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runRWST", "Control.Monad.RWS.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runRWST" }, "sortText": "Z.runRWST", "additionalTextEdits": null, "filterText": null, "insertText": "runRWST", "kind": 12, "label": "runRWST" }, { "detail": "∀ r a. Reader r a → r → a", "documentation": { "kind": "markdown", "value": "Run a computation in the `Reader` monad.\n\n*From: Control.Monad.Reader*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runReader", "Control.Monad.Reader", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runReader" }, "sortText": "Z.runReader", "additionalTextEdits": null, "filterText": null, "insertText": "runReader", "kind": 12, "label": "runReader" }, { "detail": "∀ r m a. ReaderT r m a → (r → m a)", "documentation": { "kind": "markdown", "value": "Run a computation in the `ReaderT` monad.\n\n*From: Control.Monad.Reader*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runReaderT", "Control.Monad.Reader", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runReaderT" }, "sortText": "Z.runReaderT", "additionalTextEdits": null, "filterText": null, "insertText": "runReaderT", "kind": 12, "label": "runReaderT" }, { "detail": "∀ r m a. ReaderT r m a → (r → m a)", "documentation": { "kind": "markdown", "value": "Run a computation in the `ReaderT` monad.\n\n*From: Control.Monad.Reader.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runReaderT", "Control.Monad.Reader.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runReaderT" }, "sortText": "Z.runReaderT", "additionalTextEdits": null, "filterText": null, "insertText": "runReaderT", "kind": 12, "label": "runReaderT" }, { "detail": "∀ a. (∀ r. ST r a) → a", "documentation": { "kind": "markdown", "value": "Run an `ST` computation.\n\nNote: the type of `run` uses a rank-2 type to constrain the phantom\ntype `r`, such that the computation must not leak any mutable references\nto the surrounding computation. It may cause problems to apply this\nfunction using the `$` operator. The recommended approach is to use\nparentheses instead.\n\n*From: Control.Monad.ST*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "run", "Control.Monad.ST", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "run" }, "sortText": "Z.run", "additionalTextEdits": null, "filterText": null, "insertText": "run", "kind": 12, "label": "run" }, { "detail": "∀ a. (∀ r. ST r a) → a", "documentation": { "kind": "markdown", "value": "Run an `ST` computation.\n\nNote: the type of `run` uses a rank-2 type to constrain the phantom\ntype `r`, such that the computation must not leak any mutable references\nto the surrounding computation. It may cause problems to apply this\nfunction using the `$` operator. The recommended approach is to use\nparentheses instead.\n\n*From: Control.Monad.ST.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "run", "Control.Monad.ST.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "run" }, "sortText": "Z.run", "additionalTextEdits": null, "filterText": null, "insertText": "run", "kind": 12, "label": "run" }, { "detail": "∀ a r. STRef r a → ST r a", "documentation": { "kind": "markdown", "value": "Read the current value of a mutable reference.\n\n*From: Control.Monad.ST.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "read", "Control.Monad.ST.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "read" }, "sortText": "Z.read", "additionalTextEdits": null, "filterText": null, "insertText": "read", "kind": 12, "label": "read" }, { "detail": "∀ a r. STRef r a → ST r a", "documentation": { "kind": "markdown", "value": "Read the current value of a mutable reference.\n\n*From: Control.Monad.ST.Ref*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "read", "Control.Monad.ST.Ref", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "read" }, "sortText": "Z.read", "additionalTextEdits": null, "filterText": null, "insertText": "read", "kind": 12, "label": "read" }, { "detail": "∀ s a. State s a → s → Tuple a s", "documentation": { "kind": "markdown", "value": "Run a computation in the `State` monad\n\n*From: Control.Monad.State*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runState", "Control.Monad.State", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runState" }, "sortText": "Z.runState", "additionalTextEdits": null, "filterText": null, "insertText": "runState", "kind": 12, "label": "runState" }, { "detail": "∀ s m a. StateT s m a → s → m (Tuple a s)", "documentation": { "kind": "markdown", "value": "Run a computation in the `StateT` monad.\n\n*From: Control.Monad.State*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runStateT", "Control.Monad.State", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runStateT" }, "sortText": "Z.runStateT", "additionalTextEdits": null, "filterText": null, "insertText": "runStateT", "kind": 12, "label": "runStateT" }, { "detail": "∀ s m a. StateT s m a → s → m (Tuple a s)", "documentation": { "kind": "markdown", "value": "Run a computation in the `StateT` monad.\n\n*From: Control.Monad.State.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runStateT", "Control.Monad.State.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runStateT" }, "sortText": "Z.runStateT", "additionalTextEdits": null, "filterText": null, "insertText": "runStateT", "kind": 12, "label": "runStateT" }, { "detail": "∀ a. Trampoline a → a", "documentation": { "kind": "markdown", "value": "Run a computation in the `Trampoline` monad.\n\n*From: Control.Monad.Trampoline*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runTrampoline", "Control.Monad.Trampoline", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runTrampoline" }, "sortText": "Z.runTrampoline", "additionalTextEdits": null, "filterText": null, "insertText": "runTrampoline", "kind": 12, "label": "runTrampoline" }, { "detail": "∀ w a. Writer w a → Tuple a w", "documentation": { "kind": "markdown", "value": "Run a computation in the `Writer` monad\n\n*From: Control.Monad.Writer*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runWriter", "Control.Monad.Writer", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runWriter" }, "sortText": "Z.runWriter", "additionalTextEdits": null, "filterText": null, "insertText": "runWriter", "kind": 12, "label": "runWriter" }, { "detail": "∀ w m a. WriterT w m a → m (Tuple a w)", "documentation": { "kind": "markdown", "value": "Run a computation in the `WriterT` monad.\n\n*From: Control.Monad.Writer*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runWriterT", "Control.Monad.Writer", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runWriterT" }, "sortText": "Z.runWriterT", "additionalTextEdits": null, "filterText": null, "insertText": "runWriterT", "kind": 12, "label": "runWriterT" }, { "detail": "∀ w m a. WriterT w m a → m (Tuple a w)", "documentation": { "kind": "markdown", "value": "Run a computation in the `WriterT` monad.\n\n*From: Control.Monad.Writer.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runWriterT", "Control.Monad.Writer.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runWriterT" }, "sortText": "Z.runWriterT", "additionalTextEdits": null, "filterText": null, "insertText": "runWriterT", "kind": 12, "label": "runWriterT" }, { "detail": "Int → Int → Array Int", "documentation": { "kind": "markdown", "value": "Create an array containing a range of integers, including both endpoints.\n```purescript\nrange 2 5 = [2, 3, 4, 5]\n```\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "range", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "range" }, "sortText": "Z.range", "additionalTextEdits": null, "filterText": null, "insertText": "range", "kind": 12, "label": "range" }, { "detail": "∀ a. Int → a → Array a", "documentation": { "kind": "markdown", "value": "Create an array containing a value repeated the specified number of times.\n```purescript\nreplicate 2 \"Hi\" = [\"Hi\", \"Hi\"]\n```\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "replicate", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "replicate" }, "sortText": "Z.replicate", "additionalTextEdits": null, "filterText": null, "insertText": "replicate", "kind": 12, "label": "replicate" }, { "detail": "∀ a. Array a → Array a", "documentation": { "kind": "markdown", "value": "Reverse an array, creating a new array.\n\n```purescript\nreverse [] = []\nreverse [1, 2, 3] = [3, 2, 1]\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "reverse", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "reverse" }, "sortText": "Z.reverse", "additionalTextEdits": null, "filterText": null, "insertText": "reverse", "kind": 12, "label": "reverse" }, { "detail": "Int → Int → NonEmptyArray Int", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "range", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "range" }, "sortText": "Z.range", "additionalTextEdits": null, "filterText": null, "insertText": "range", "kind": 12, "label": "range" }, { "detail": "∀ a. Int → a → NonEmptyArray a", "documentation": { "kind": "markdown", "value": "Replicate an item at least once\n\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "replicate", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "replicate" }, "sortText": "Z.replicate", "additionalTextEdits": null, "filterText": null, "insertText": "replicate", "kind": 12, "label": "replicate" }, { "detail": "∀ a. NonEmptyArray a → NonEmptyArray a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "reverse", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "reverse" }, "sortText": "Z.reverse", "additionalTextEdits": null, "filterText": null, "insertText": "reverse", "kind": 12, "label": "reverse" }, { "detail": "∀ a. (∀ h. ST h (STArray h a)) → Array a", "documentation": { "kind": "markdown", "value": "A safe way to create and work with a mutable array before returning an\nimmutable array for later perusal. This function avoids copying the array\nbefore returning it - it uses unsafeFreeze internally, but this wrapper is\na safe interface to that function.\n\n*From: Data.Array.ST*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "run", "Data.Array.ST", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "run" }, "sortText": "Z.run", "additionalTextEdits": null, "filterText": null, "insertText": "run", "kind": 12, "label": "run" }, { "detail": "∀ f a b c. Bifunctor f ⇒ (b → c) → f a b → f a c", "documentation": { "kind": "markdown", "value": "Map a function over the second type arguments of a `Bifunctor`.\n\n*From: Data.Bifunctor*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "rmap", "Data.Bifunctor", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "rmap" }, "sortText": "Z.rmap", "additionalTextEdits": null, "filterText": null, "insertText": "rmap", "kind": 12, "label": "rmap" }, { "detail": "BigInt → BigInt → BigInt", "documentation": { "kind": "markdown", "value": "The remainder after truncating integer division\n\n*From: Data.BigInt*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "rem", "Data.BigInt", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "rem" }, "sortText": "Z.rem", "additionalTextEdits": null, "filterText": null, "insertText": "rem", "kind": 12, "label": "rem" }, { "detail": "∀ t b c a f. Bitraversable t ⇒ Applicative f ⇒ (b → f c) → t a b → f (t a c)", "documentation": { "kind": "markdown", "value": "\n*From: Data.Bitraversable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "rtraverse", "Data.Bitraversable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "rtraverse" }, "sortText": "Z.rtraverse", "additionalTextEdits": null, "filterText": null, "insertText": "rtraverse", "kind": 12, "label": "rtraverse" }, { "detail": "∀ t b c a f. Bitraversable t ⇒ Applicative f ⇒ t a b → (b → f c) → f (t a c)", "documentation": { "kind": "markdown", "value": "\n*From: Data.Bitraversable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "rfor", "Data.Bitraversable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "rfor" }, "sortText": "Z.rfor", "additionalTextEdits": null, "filterText": null, "insertText": "rfor", "kind": 12, "label": "rfor" }, { "detail": "∀ a. DivisionRing a ⇒ a → a", "documentation": { "kind": "markdown", "value": "\n*From: Data.DivisionRing*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "recip", "Data.DivisionRing", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "recip" }, "sortText": "Z.recip", "additionalTextEdits": null, "filterText": null, "insertText": "recip", "kind": 12, "label": "recip" }, { "detail": "∀ a. DivisionRing a ⇒ a → a → a", "documentation": { "kind": "markdown", "value": "Right division, defined as `rightDiv a b = a * recip b`. Left and right\ndivision are distinct in this module because a `DivisionRing` is not\nnecessarily commutative.\n\nIf the type `a` is also a `EuclideanRing`, then this function is\nequivalent to `div` from the `EuclideanRing` class. When working\nabstractly, `div` should generally be preferred, unless you know that you\nneed your code to work with noncommutative rings.\n\n*From: Data.DivisionRing*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "rightDiv", "Data.DivisionRing", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "rightDiv" }, "sortText": "Z.rightDiv", "additionalTextEdits": null, "filterText": null, "insertText": "rightDiv", "kind": 12, "label": "rightDiv" }, { "detail": "∀ f r. (∀ a. f a → r) → Exists f → r", "documentation": { "kind": "markdown", "value": "The `runExists` function is used to eliminate a value of type `Exists f`. The rank 2 type ensures\nthat the existentially-quantified type does not escape its scope. Since the function is required\nto work for _any_ type `a`, it will work for the existentially-quantified type.\n\nFor example, we can write a function to obtain the head of a stream by using `runExists` as follows:\n\n```purescript\nhead :: forall a. Stream a -> a\nhead = runExists head'\n where\n head' :: forall s. StreamF a s -> a\n head' (StreamF s f) = snd (f s)\n```\n\n*From: Data.Exists*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runExists", "Data.Exists", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runExists" }, "sortText": "Z.runExists", "additionalTextEdits": null, "filterText": null, "insertText": "runExists", "kind": 12, "label": "runExists" }, { "detail": "∀ a. DivisionRing a ⇒ a → a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Field*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "recip", "Data.Field", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "recip" }, "sortText": "Z.recip", "additionalTextEdits": null, "filterText": null, "insertText": "recip", "kind": 12, "label": "recip" }, { "detail": "∀ a. Fn0 a → a", "documentation": { "kind": "markdown", "value": "Apply a function of no arguments\n\n*From: Data.Function.Uncurried*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runFn0", "Data.Function.Uncurried", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runFn0" }, "sortText": "Z.runFn0", "additionalTextEdits": null, "filterText": null, "insertText": "runFn0", "kind": 12, "label": "runFn0" }, { "detail": "∀ a b. Fn1 a b → a → b", "documentation": { "kind": "markdown", "value": "Apply a function of one argument\n\n*From: Data.Function.Uncurried*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runFn1", "Data.Function.Uncurried", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runFn1" }, "sortText": "Z.runFn1", "additionalTextEdits": null, "filterText": null, "insertText": "runFn1", "kind": 12, "label": "runFn1" }, { "detail": "∀ a b c. Fn2 a b c → a → b → c", "documentation": { "kind": "markdown", "value": "Apply a function of two arguments\n\n*From: Data.Function.Uncurried*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runFn2", "Data.Function.Uncurried", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runFn2" }, "sortText": "Z.runFn2", "additionalTextEdits": null, "filterText": null, "insertText": "runFn2", "kind": 12, "label": "runFn2" }, { "detail": "∀ a b c d. Fn3 a b c d → a → b → c → d", "documentation": { "kind": "markdown", "value": "Apply a function of three arguments\n\n*From: Data.Function.Uncurried*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runFn3", "Data.Function.Uncurried", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runFn3" }, "sortText": "Z.runFn3", "additionalTextEdits": null, "filterText": null, "insertText": "runFn3", "kind": 12, "label": "runFn3" }, { "detail": "∀ a b c d e. Fn4 a b c d e → a → b → c → d → e", "documentation": { "kind": "markdown", "value": "Apply a function of four arguments\n\n*From: Data.Function.Uncurried*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runFn4", "Data.Function.Uncurried", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runFn4" }, "sortText": "Z.runFn4", "additionalTextEdits": null, "filterText": null, "insertText": "runFn4", "kind": 12, "label": "runFn4" }, { "detail": "∀ a b c d e f. Fn5 a b c d e f → a → b → c → d → e → f", "documentation": { "kind": "markdown", "value": "Apply a function of five arguments\n\n*From: Data.Function.Uncurried*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runFn5", "Data.Function.Uncurried", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runFn5" }, "sortText": "Z.runFn5", "additionalTextEdits": null, "filterText": null, "insertText": "runFn5", "kind": 12, "label": "runFn5" }, { "detail": "∀ a b c d e f g. Fn6 a b c d e f g → a → b → c → d → e → f → g", "documentation": { "kind": "markdown", "value": "Apply a function of six arguments\n\n*From: Data.Function.Uncurried*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runFn6", "Data.Function.Uncurried", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runFn6" }, "sortText": "Z.runFn6", "additionalTextEdits": null, "filterText": null, "insertText": "runFn6", "kind": 12, "label": "runFn6" }, { "detail": "∀ a b c d e f g h. Fn7 a b c d e f g h → a → b → c → d → e → f → g → h", "documentation": { "kind": "markdown", "value": "Apply a function of seven arguments\n\n*From: Data.Function.Uncurried*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runFn7", "Data.Function.Uncurried", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runFn7" }, "sortText": "Z.runFn7", "additionalTextEdits": null, "filterText": null, "insertText": "runFn7", "kind": 12, "label": "runFn7" }, { "detail": "∀ a b c d e f g h i. Fn8 a b c d e f g h i → a → b → c → d → e → f → g → h → i", "documentation": { "kind": "markdown", "value": "Apply a function of eight arguments\n\n*From: Data.Function.Uncurried*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runFn8", "Data.Function.Uncurried", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runFn8" }, "sortText": "Z.runFn8", "additionalTextEdits": null, "filterText": null, "insertText": "runFn8", "kind": 12, "label": "runFn8" }, { "detail": "∀ a b c d e f g h i j. Fn9 a b c d e f g h i j → a → b → c → d → e → f → g → h → i → j", "documentation": { "kind": "markdown", "value": "Apply a function of nine arguments\n\n*From: Data.Function.Uncurried*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runFn9", "Data.Function.Uncurried", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runFn9" }, "sortText": "Z.runFn9", "additionalTextEdits": null, "filterText": null, "insertText": "runFn9", "kind": 12, "label": "runFn9" }, { "detail": "∀ a b c d e f g h i j k. Fn10 a b c d e f g h i j k → a → b → c → d → e → f → g → h → i → j → k", "documentation": { "kind": "markdown", "value": "Apply a function of ten arguments\n\n*From: Data.Function.Uncurried*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runFn10", "Data.Function.Uncurried", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runFn10" }, "sortText": "Z.runFn10", "additionalTextEdits": null, "filterText": null, "insertText": "runFn10", "kind": 12, "label": "runFn10" }, { "detail": "∀ f g a. g a → Coproduct f g a", "documentation": { "kind": "markdown", "value": "Right injection\n\n*From: Data.Functor.Coproduct*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "right", "Data.Functor.Coproduct", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "right" }, "sortText": "Z.right", "additionalTextEdits": null, "filterText": null, "insertText": "right", "kind": 12, "label": "right" }, { "detail": "Number → Int", "documentation": { "kind": "markdown", "value": "Convert a `Number` to an `Int`, by taking the nearest integer to the\nargument. Values outside the `Int` range are clamped, `NaN` and `Infinity`\nvalues return 0.\n\n*From: Data.Int*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "round", "Data.Int", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "round" }, "sortText": "Z.round", "additionalTextEdits": null, "filterText": null, "insertText": "round", "kind": 12, "label": "round" }, { "detail": "Int → Maybe Radix", "documentation": { "kind": "markdown", "value": "Create a `Radix` from a number between 2 and 36.\n\n*From: Data.Int*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "radix", "Data.Int", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "radix" }, "sortText": "Z.radix", "additionalTextEdits": null, "filterText": null, "insertText": "radix", "kind": 12, "label": "radix" }, { "detail": "Int → Int → Int", "documentation": { "kind": "markdown", "value": "The `rem` function provides the remainder after _truncating_ integer\ndivision (see the documentation for the `EuclideanRing` class). It is\nidentical to `mod` in the `EuclideanRing Int` instance if the dividend is\npositive, but will be slightly different if the dividend is negative. For\nexample:\n\n```purescript\nmod 2 3 == 2\nrem 2 3 == 2\n\nmod (-2) 3 == 1\nrem (-2) 3 == (-2)\n\nmod 2 (-3) == 2\nrem 2 (-3) == 2\n```\n\n*From: Data.Int*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "rem", "Data.Int", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "rem" }, "sortText": "Z.rem", "additionalTextEdits": null, "filterText": null, "insertText": "rem", "kind": 12, "label": "rem" }, { "detail": "Foreign → F JSDate", "documentation": { "kind": "markdown", "value": "Attempts to read a `Foreign` value as a `JSDate`.\n\n*From: Data.JSDate*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "readDate", "Data.JSDate", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "readDate" }, "sortText": "Z.readDate", "additionalTextEdits": null, "filterText": null, "insertText": "readDate", "kind": 12, "label": "readDate" }, { "detail": "Int → Int → List Int", "documentation": { "kind": "markdown", "value": "Create a list containing a range of integers, including both endpoints.\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "range", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "range" }, "sortText": "Z.range", "additionalTextEdits": null, "filterText": null, "insertText": "range", "kind": 12, "label": "range" }, { "detail": "List ~> List", "documentation": { "kind": "markdown", "value": "Reverse a list.\n\nRunning time: `O(n)`\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "reverse", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "reverse" }, "sortText": "Z.reverse", "additionalTextEdits": null, "filterText": null, "insertText": "reverse", "kind": 12, "label": "reverse" }, { "detail": "Int → Int → List Int", "documentation": { "kind": "markdown", "value": "Create a list containing a range of integers, including both endpoints.\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "range", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "range" }, "sortText": "Z.range", "additionalTextEdits": null, "filterText": null, "insertText": "range", "kind": 12, "label": "range" }, { "detail": "∀ a. Int → a → List a", "documentation": { "kind": "markdown", "value": "Create a list with repeated instances of a value.\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "replicate", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "replicate" }, "sortText": "Z.replicate", "additionalTextEdits": null, "filterText": null, "insertText": "replicate", "kind": 12, "label": "replicate" }, { "detail": "∀ m a. Monad m ⇒ Int → m a → m (List a)", "documentation": { "kind": "markdown", "value": "Perform a monadic action `n` times collecting all of the results.\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "replicateM", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "replicateM" }, "sortText": "Z.replicateM", "additionalTextEdits": null, "filterText": null, "insertText": "replicateM", "kind": 12, "label": "replicateM" }, { "detail": "∀ a. a → List a", "documentation": { "kind": "markdown", "value": "Create a list by repeating an element\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "repeat", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "repeat" }, "sortText": "Z.repeat", "additionalTextEdits": null, "filterText": null, "insertText": "repeat", "kind": 12, "label": "repeat" }, { "detail": "List ~> List", "documentation": { "kind": "markdown", "value": "Reverse a list.\n\nRunning time: `O(n)`\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "reverse", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "reverse" }, "sortText": "Z.reverse", "additionalTextEdits": null, "filterText": null, "insertText": "reverse", "kind": 12, "label": "reverse" }, { "detail": "∀ a. a → NonEmptyList a", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.Lazy.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "repeat", "Data.List.Lazy.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "repeat" }, "sortText": "Z.repeat", "additionalTextEdits": null, "filterText": null, "insertText": "repeat", "kind": 12, "label": "repeat" }, { "detail": "∀ a. NonEmptyList a → NonEmptyList a", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "reverse", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "reverse" }, "sortText": "Z.reverse", "additionalTextEdits": null, "filterText": null, "insertText": "reverse", "kind": 12, "label": "reverse" }, { "detail": "Pattern → Replacement → String → String", "documentation": { "kind": "markdown", "value": "Replaces the first occurence of the pattern with the replacement string.\n\n```purescript\nreplace (Pattern \"<=\") (Replacement \"≤\") \"a <= b <= c\" == \"a ≤ b <= c\"\n```\n\n*From: Data.String*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "replace", "Data.String", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "replace" }, "sortText": "Z.replace", "additionalTextEdits": null, "filterText": null, "insertText": "replace", "kind": 12, "label": "replace" }, { "detail": "Pattern → Replacement → String → String", "documentation": { "kind": "markdown", "value": "Replaces all occurences of the pattern with the replacement string.\n\n```purescript\nreplaceAll (Pattern \"<=\") (Replacement \"≤\") \"a <= b <= c\" == \"a ≤ b ≤ c\"\n```\n\n*From: Data.String*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "replaceAll", "Data.String", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "replaceAll" }, "sortText": "Z.replaceAll", "additionalTextEdits": null, "filterText": null, "insertText": "replaceAll", "kind": 12, "label": "replaceAll" }, { "detail": "Pattern → Replacement → String → String", "documentation": { "kind": "markdown", "value": "Replaces the first occurence of the pattern with the replacement string.\n\n```purescript\nreplace (Pattern \"<=\") (Replacement \"≤\") \"a <= b <= c\" == \"a ≤ b <= c\"\n```\n\n*From: Data.String.Common*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "replace", "Data.String.Common", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "replace" }, "sortText": "Z.replace", "additionalTextEdits": null, "filterText": null, "insertText": "replace", "kind": 12, "label": "replace" }, { "detail": "Pattern → Replacement → String → String", "documentation": { "kind": "markdown", "value": "Replaces all occurences of the pattern with the replacement string.\n\n```purescript\nreplaceAll (Pattern \"<=\") (Replacement \"≤\") \"a <= b <= c\" == \"a ≤ b ≤ c\"\n```\n\n*From: Data.String.Common*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "replaceAll", "Data.String.Common", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "replaceAll" }, "sortText": "Z.replaceAll", "additionalTextEdits": null, "filterText": null, "insertText": "replaceAll", "kind": 12, "label": "replaceAll" }, { "detail": "Pattern → NonEmptyReplacement → NonEmptyString → NonEmptyString", "documentation": { "kind": "markdown", "value": "Replaces the first occurence of the pattern with the replacement string.\n\n```purescript\nreplace (Pattern \"<=\") (NonEmptyReplacement \"≤\") (NonEmptyString \"a <= b <= c\") == NonEmptyString \"a ≤ b <= c\"\n```\n\n*From: Data.String.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "replace", "Data.String.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "replace" }, "sortText": "Z.replace", "additionalTextEdits": null, "filterText": null, "insertText": "replace", "kind": 12, "label": "replace" }, { "detail": "Pattern → NonEmptyReplacement → NonEmptyString → NonEmptyString", "documentation": { "kind": "markdown", "value": "Replaces all occurences of the pattern with the replacement string.\n\n```purescript\nreplaceAll (Pattern \"<=\") (NonEmptyReplacement \"≤\") (NonEmptyString \"a <= b <= c\") == NonEmptyString \"a ≤ b ≤ c\"\n```\n\n*From: Data.String.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "replaceAll", "Data.String.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "replaceAll" }, "sortText": "Z.replaceAll", "additionalTextEdits": null, "filterText": null, "insertText": "replaceAll", "kind": 12, "label": "replaceAll" }, { "detail": "Pattern → NonEmptyReplacement → NonEmptyString → NonEmptyString", "documentation": { "kind": "markdown", "value": "Replaces the first occurence of the pattern with the replacement string.\n\n```purescript\nreplace (Pattern \"<=\") (NonEmptyReplacement \"≤\") (NonEmptyString \"a <= b <= c\") == NonEmptyString \"a ≤ b <= c\"\n```\n\n*From: Data.String.NonEmpty.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "replace", "Data.String.NonEmpty.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "replace" }, "sortText": "Z.replace", "additionalTextEdits": null, "filterText": null, "insertText": "replace", "kind": 12, "label": "replace" }, { "detail": "Pattern → NonEmptyReplacement → NonEmptyString → NonEmptyString", "documentation": { "kind": "markdown", "value": "Replaces all occurences of the pattern with the replacement string.\n\n```purescript\nreplaceAll (Pattern \"<=\") (NonEmptyReplacement \"≤\") (NonEmptyString \"a <= b <= c\") == NonEmptyString \"a ≤ b ≤ c\"\n```\n\n*From: Data.String.NonEmpty.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "replaceAll", "Data.String.NonEmpty.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "replaceAll" }, "sortText": "Z.replaceAll", "additionalTextEdits": null, "filterText": null, "insertText": "replaceAll", "kind": 12, "label": "replaceAll" }, { "detail": "String → RegexFlags → Either String Regex", "documentation": { "kind": "markdown", "value": "Constructs a `Regex` from a pattern string and flags. Fails with\n`Left error` if the pattern contains a syntax error.\n\n*From: Data.String.Regex*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "regex", "Data.String.Regex", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "regex" }, "sortText": "Z.regex", "additionalTextEdits": null, "filterText": null, "insertText": "regex", "kind": 12, "label": "regex" }, { "detail": "RegexFlags → String", "documentation": { "kind": "markdown", "value": "Returns the string representation of the given `RegexFlags`.\n\n*From: Data.String.Regex*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "renderFlags", "Data.String.Regex", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "renderFlags" }, "sortText": "Z.renderFlags", "additionalTextEdits": null, "filterText": null, "insertText": "renderFlags", "kind": 12, "label": "renderFlags" }, { "detail": "Regex → String → String → String", "documentation": { "kind": "markdown", "value": "Replaces occurences of the `Regex` with the first string. The replacement\nstring can include special replacement patterns escaped with `\"$\"`.\nSee [reference](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace).\n\n*From: Data.String.Regex*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "replace", "Data.String.Regex", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "replace" }, "sortText": "Z.replace", "additionalTextEdits": null, "filterText": null, "insertText": "replace", "kind": 12, "label": "replace" }, { "detail": "Regex → (String → Array String → String) → String → String", "documentation": { "kind": "markdown", "value": "Transforms occurences of the `Regex` using a function of the matched\nsubstring and a list of submatch strings.\nSee the [reference](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace#Specifying_a_function_as_a_parameter).\n\n*From: Data.String.Regex*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "replace'", "Data.String.Regex", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "replace'" }, "sortText": "Z.replace'", "additionalTextEdits": null, "filterText": null, "insertText": "replace'", "kind": 12, "label": "replace'" }, { "detail": "∀ sym. IsSymbol sym ⇒ SProxy sym → String", "documentation": { "kind": "markdown", "value": "\n*From: Data.Symbol*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "reflectSymbol", "Data.Symbol", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "reflectSymbol" }, "sortText": "Z.reflectSymbol", "additionalTextEdits": null, "filterText": null, "insertText": "reflectSymbol", "kind": 12, "label": "reflectSymbol" }, { "detail": "∀ r. String → (∀ sym. IsSymbol sym ⇒ SProxy sym → r) → r", "documentation": { "kind": "markdown", "value": "\n*From: Data.Symbol*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "reifySymbol", "Data.Symbol", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "reifySymbol" }, "sortText": "Z.reifySymbol", "additionalTextEdits": null, "filterText": null, "insertText": "reifySymbol", "kind": 12, "label": "reifySymbol" }, { "detail": "∀ f a. Unfoldable f ⇒ Int → a → f a", "documentation": { "kind": "markdown", "value": "Replicate a value some natural number of times.\nFor example:\n\n``` purescript\nreplicate 2 \"foo\" == ([\"foo\", \"foo\"] :: Array String)\n```\n\n*From: Data.Unfoldable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "replicate", "Data.Unfoldable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "replicate" }, "sortText": "Z.replicate", "additionalTextEdits": null, "filterText": null, "insertText": "replicate", "kind": 12, "label": "replicate" }, { "detail": "∀ m f a. Applicative m ⇒ Unfoldable f ⇒ Traversable f ⇒ Int → m a → m (f a)", "documentation": { "kind": "markdown", "value": "Perform an Applicative action `n` times, and accumulate all the results.\n\n``` purescript\n> replicateA 5 (randomInt 1 10) :: Effect (Array Int)\n[1,3,2,7,5]\n```\n\n*From: Data.Unfoldable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "replicateA", "Data.Unfoldable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "replicateA" }, "sortText": "Z.replicateA", "additionalTextEdits": null, "filterText": null, "insertText": "replicateA", "kind": 12, "label": "replicateA" }, { "detail": "∀ f. Unfoldable1 f ⇒ Int → Int → f Int", "documentation": { "kind": "markdown", "value": "Create an `Unfoldable1` containing a range of values, including both\nendpoints.\n\n``` purescript\nrange 0 0 == (NEL.singleton 0 :: NEL.NonEmptyList Int)\nrange 1 2 == (NEL.cons 1 (NEL.singleton 2) :: NEL.NonEmptyList Int)\nrange 2 0 == (NEL.cons 2 (NEL.cons 1 (NEL.singleton 0)) :: NEL.NonEmptyList Int)\n```\n\n*From: Data.Unfoldable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "range", "Data.Unfoldable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "range" }, "sortText": "Z.range", "additionalTextEdits": null, "filterText": null, "insertText": "range", "kind": 12, "label": "range" }, { "detail": "∀ f a. Unfoldable1 f ⇒ Int → a → f a", "documentation": { "kind": "markdown", "value": "Replicate a value `n` times. At least one value will be produced, so values\n`n` less than 1 will be treated as 1.\n\n``` purescript\nreplicate1 2 \"foo\" == (NEL.cons \"foo\" (NEL.singleton \"foo\") :: NEL.NonEmptyList String)\nreplicate1 0 \"foo\" == (NEL.singleton \"foo\" :: NEL.NonEmptyList String)\n```\n\n*From: Data.Unfoldable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "replicate1", "Data.Unfoldable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "replicate1" }, "sortText": "Z.replicate1", "additionalTextEdits": null, "filterText": null, "insertText": "replicate1", "kind": 12, "label": "replicate1" }, { "detail": "∀ m f a. Apply m ⇒ Unfoldable1 f ⇒ Traversable1 f ⇒ Int → m a → m (f a)", "documentation": { "kind": "markdown", "value": "Perform an `Apply` action `n` times (at least once, so values `n` less\nthan 1 will be treated as 1), and accumulate the results.\n\n``` purescript\n> replicate1A 2 (randomInt 1 10) :: Effect (NEL.NonEmptyList Int)\n(NonEmptyList (NonEmpty 8 (2 : Nil)))\n> replicate1A 0 (randomInt 1 10) :: Effect (NEL.NonEmptyList Int)\n(NonEmptyList (NonEmpty 4 Nil))\n```\n\n*From: Data.Unfoldable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "replicate1A", "Data.Unfoldable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "replicate1A" }, "sortText": "Z.replicate1A", "additionalTextEdits": null, "filterText": null, "insertText": "replicate1A", "kind": 12, "label": "replicate1A" }, { "detail": "∀ f a. Unfoldable1 f ⇒ Int → a → f a", "documentation": { "kind": "markdown", "value": "Replicate a value `n` times. At least one value will be produced, so values\n`n` less than 1 will be treated as 1.\n\n``` purescript\nreplicate1 2 \"foo\" == (NEL.cons \"foo\" (NEL.singleton \"foo\") :: NEL.NonEmptyList String)\nreplicate1 0 \"foo\" == (NEL.singleton \"foo\" :: NEL.NonEmptyList String)\n```\n\n*From: Data.Unfoldable1*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "replicate1", "Data.Unfoldable1", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "replicate1" }, "sortText": "Z.replicate1", "additionalTextEdits": null, "filterText": null, "insertText": "replicate1", "kind": 12, "label": "replicate1" }, { "detail": "∀ m f a. Apply m ⇒ Unfoldable1 f ⇒ Traversable1 f ⇒ Int → m a → m (f a)", "documentation": { "kind": "markdown", "value": "Perform an `Apply` action `n` times (at least once, so values `n` less\nthan 1 will be treated as 1), and accumulate the results.\n\n``` purescript\n> replicate1A 2 (randomInt 1 10) :: Effect (NEL.NonEmptyList Int)\n(NonEmptyList (NonEmpty 8 (2 : Nil)))\n> replicate1A 0 (randomInt 1 10) :: Effect (NEL.NonEmptyList Int)\n(NonEmptyList (NonEmpty 4 Nil))\n```\n\n*From: Data.Unfoldable1*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "replicate1A", "Data.Unfoldable1", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "replicate1A" }, "sortText": "Z.replicate1A", "additionalTextEdits": null, "filterText": null, "insertText": "replicate1A", "kind": 12, "label": "replicate1A" }, { "detail": "∀ f. Unfoldable1 f ⇒ Int → Int → f Int", "documentation": { "kind": "markdown", "value": "Create an `Unfoldable1` containing a range of values, including both\nendpoints.\n\n``` purescript\nrange 0 0 == (NEL.singleton 0 :: NEL.NonEmptyList Int)\nrange 1 2 == (NEL.cons 1 (NEL.singleton 2) :: NEL.NonEmptyList Int)\nrange 2 0 == (NEL.cons 2 (NEL.cons 1 (NEL.singleton 0)) :: NEL.NonEmptyList Int)\n```\n\n*From: Data.Unfoldable1*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "range", "Data.Unfoldable1", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "range" }, "sortText": "Z.range", "additionalTextEdits": null, "filterText": null, "insertText": "range", "kind": 12, "label": "range" }, { "detail": "∀ f a b. Yoneda f a → (a → b) → f b", "documentation": { "kind": "markdown", "value": "Run a computation of type `Yoneda f a`.\n\n*From: Data.Yoneda*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runYoneda", "Data.Yoneda", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runYoneda" }, "sortText": "Z.runYoneda", "additionalTextEdits": null, "filterText": null, "insertText": "runYoneda", "kind": 12, "label": "runYoneda" }, { "detail": "∀ a. AVar a → AVarCallback a → Effect (Effect Unit)", "documentation": { "kind": "markdown", "value": "Reads the AVar value. Unlike `take`, this will not leave the AVar empty.\nIf the AVar is empty, this will queue until it is filled. Multiple reads\nwill resolve at the same time, as soon as possible.\n\n*From: Effect.AVar*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "read", "Effect.AVar", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "read" }, "sortText": "Z.read", "additionalTextEdits": null, "filterText": null, "insertText": "read", "kind": 12, "label": "read" }, { "detail": "∀ a. (Either Error a → Effect Unit) → Aff a → Effect (Fiber Unit)", "documentation": { "kind": "markdown", "value": "Forks an `Aff` from an `Effect` context and also takes a callback to run when\nit completes. Returns the pending `Fiber`.\n\n*From: Effect.Aff*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runAff", "Effect.Aff", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runAff" }, "sortText": "Z.runAff", "additionalTextEdits": null, "filterText": null, "insertText": "runAff", "kind": 12, "label": "runAff" }, { "detail": "∀ a. (Either Error a → Effect Unit) → Aff a → Effect Unit", "documentation": { "kind": "markdown", "value": "Forks an `Aff` from an `Effect` context and also takes a callback to run when\nit completes, discarding the `Fiber`.\n\n*From: Effect.Aff*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runAff_", "Effect.Aff", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runAff_" }, "sortText": "Z.runAff_", "additionalTextEdits": null, "filterText": null, "insertText": "runAff_", "kind": 12, "label": "runAff_" }, { "detail": "∀ a. (Either Error a → Effect Unit) → Aff a → Effect (Fiber Unit)", "documentation": { "kind": "markdown", "value": "Suspends an `Aff` from an `Effect` context and also takes a callback to run\nwhen it completes. Returns the suspended `Fiber`.\n\n*From: Effect.Aff*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runSuspendedAff", "Effect.Aff", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runSuspendedAff" }, "sortText": "Z.runSuspendedAff", "additionalTextEdits": null, "filterText": null, "insertText": "runSuspendedAff", "kind": 12, "label": "runSuspendedAff" }, { "detail": "∀ a. AVar a → Aff a", "documentation": { "kind": "markdown", "value": "Reads the AVar value. Unlike `take`, this will not leave the AVar empty.\nIf the AVar is empty, this will queue until it is filled. Multiple reads\nwill resolve at the same time, as soon as possible.\n\n*From: Effect.Aff.AVar*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "read", "Effect.Aff.AVar", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "read" }, "sortText": "Z.read", "additionalTextEdits": null, "filterText": null, "insertText": "read", "kind": 12, "label": "read" }, { "detail": "∀ a r. EffectFn1 a r → a → Effect r", "documentation": { "kind": "markdown", "value": "\n*From: Effect.Aff.Compat*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runEffectFn1", "Effect.Aff.Compat", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runEffectFn1" }, "sortText": "Z.runEffectFn1", "additionalTextEdits": null, "filterText": null, "insertText": "runEffectFn1", "kind": 12, "label": "runEffectFn1" }, { "detail": "∀ a b r. EffectFn2 a b r → a → b → Effect r", "documentation": { "kind": "markdown", "value": "\n*From: Effect.Aff.Compat*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runEffectFn2", "Effect.Aff.Compat", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runEffectFn2" }, "sortText": "Z.runEffectFn2", "additionalTextEdits": null, "filterText": null, "insertText": "runEffectFn2", "kind": 12, "label": "runEffectFn2" }, { "detail": "∀ a b c r. EffectFn3 a b c r → a → b → c → Effect r", "documentation": { "kind": "markdown", "value": "\n*From: Effect.Aff.Compat*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runEffectFn3", "Effect.Aff.Compat", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runEffectFn3" }, "sortText": "Z.runEffectFn3", "additionalTextEdits": null, "filterText": null, "insertText": "runEffectFn3", "kind": 12, "label": "runEffectFn3" }, { "detail": "Effect Number", "documentation": { "kind": "markdown", "value": "Returns a random number between 0 (inclusive) and 1 (exclusive). This is\na direct wrapper around JavaScript's `Math.random()`.\n\n*From: Effect.Random*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "random", "Effect.Random", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "random" }, "sortText": "Z.random", "additionalTextEdits": null, "filterText": null, "insertText": "random", "kind": 12, "label": "random" }, { "detail": "Int → Int → Effect Int", "documentation": { "kind": "markdown", "value": "Takes a range specified by `low` (the first argument) and `high` (the\nsecond), and returns a random integer uniformly distributed in the closed\ninterval `[low, high]`. It is unspecified what happens if `low > high`,\nor if either of `low` or `high` is not an integer.\n\nFor example:\n``` purescript\nrandomInt 1 10 >>= Console.print\n```\nwill print a random integer between 1 and 10.\n\n*From: Effect.Random*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "randomInt", "Effect.Random", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "randomInt" }, "sortText": "Z.randomInt", "additionalTextEdits": null, "filterText": null, "insertText": "randomInt", "kind": 12, "label": "randomInt" }, { "detail": "Number → Number → Effect Number", "documentation": { "kind": "markdown", "value": "Returns a random number between a minimum value (inclusive) and a maximum\nvalue (exclusive). It is unspecified what happens if `maximum < minimum`.\n\nFor example:\n``` purescript\nrandomRange 1.0 2.0 >>= Console.print\n```\nwill print a random number between 1 and 2.\n\n*From: Effect.Random*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "randomRange", "Effect.Random", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "randomRange" }, "sortText": "Z.randomRange", "additionalTextEdits": null, "filterText": null, "insertText": "randomRange", "kind": 12, "label": "randomRange" }, { "detail": "Effect Boolean", "documentation": { "kind": "markdown", "value": "Returns a random boolean value with an equal chance of being `true` or\n`false`.\n\n*From: Effect.Random*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "randomBool", "Effect.Random", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "randomBool" }, "sortText": "Z.randomBool", "additionalTextEdits": null, "filterText": null, "insertText": "randomBool", "kind": 12, "label": "randomBool" }, { "detail": "∀ s. Ref s → Effect s", "documentation": { "kind": "markdown", "value": "Read the current value of a mutable reference\n\n*From: Effect.Ref*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "read", "Effect.Ref", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "read" }, "sortText": "Z.read", "additionalTextEdits": null, "filterText": null, "insertText": "read", "kind": 12, "label": "read" }, { "detail": "∀ a r. EffectFn1 a r → a → Effect r", "documentation": { "kind": "markdown", "value": "\n*From: Effect.Uncurried*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runEffectFn1", "Effect.Uncurried", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runEffectFn1" }, "sortText": "Z.runEffectFn1", "additionalTextEdits": null, "filterText": null, "insertText": "runEffectFn1", "kind": 12, "label": "runEffectFn1" }, { "detail": "∀ a b r. EffectFn2 a b r → a → b → Effect r", "documentation": { "kind": "markdown", "value": "\n*From: Effect.Uncurried*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runEffectFn2", "Effect.Uncurried", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runEffectFn2" }, "sortText": "Z.runEffectFn2", "additionalTextEdits": null, "filterText": null, "insertText": "runEffectFn2", "kind": 12, "label": "runEffectFn2" }, { "detail": "∀ a b c r. EffectFn3 a b c r → a → b → c → Effect r", "documentation": { "kind": "markdown", "value": "\n*From: Effect.Uncurried*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runEffectFn3", "Effect.Uncurried", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runEffectFn3" }, "sortText": "Z.runEffectFn3", "additionalTextEdits": null, "filterText": null, "insertText": "runEffectFn3", "kind": 12, "label": "runEffectFn3" }, { "detail": "∀ a b c d r. EffectFn4 a b c d r → a → b → c → d → Effect r", "documentation": { "kind": "markdown", "value": "\n*From: Effect.Uncurried*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runEffectFn4", "Effect.Uncurried", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runEffectFn4" }, "sortText": "Z.runEffectFn4", "additionalTextEdits": null, "filterText": null, "insertText": "runEffectFn4", "kind": 12, "label": "runEffectFn4" }, { "detail": "∀ a b c d e r. EffectFn5 a b c d e r → a → b → c → d → e → Effect r", "documentation": { "kind": "markdown", "value": "\n*From: Effect.Uncurried*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runEffectFn5", "Effect.Uncurried", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runEffectFn5" }, "sortText": "Z.runEffectFn5", "additionalTextEdits": null, "filterText": null, "insertText": "runEffectFn5", "kind": 12, "label": "runEffectFn5" }, { "detail": "∀ a b c d e f r. EffectFn6 a b c d e f r → a → b → c → d → e → f → Effect r", "documentation": { "kind": "markdown", "value": "\n*From: Effect.Uncurried*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runEffectFn6", "Effect.Uncurried", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runEffectFn6" }, "sortText": "Z.runEffectFn6", "additionalTextEdits": null, "filterText": null, "insertText": "runEffectFn6", "kind": 12, "label": "runEffectFn6" }, { "detail": "∀ a b c d e f g r. EffectFn7 a b c d e f g r → a → b → c → d → e → f → g → Effect r", "documentation": { "kind": "markdown", "value": "\n*From: Effect.Uncurried*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runEffectFn7", "Effect.Uncurried", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runEffectFn7" }, "sortText": "Z.runEffectFn7", "additionalTextEdits": null, "filterText": null, "insertText": "runEffectFn7", "kind": 12, "label": "runEffectFn7" }, { "detail": "∀ a b c d e f g h r. EffectFn8 a b c d e f g h r → a → b → c → d → e → f → g → h → Effect r", "documentation": { "kind": "markdown", "value": "\n*From: Effect.Uncurried*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runEffectFn8", "Effect.Uncurried", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runEffectFn8" }, "sortText": "Z.runEffectFn8", "additionalTextEdits": null, "filterText": null, "insertText": "runEffectFn8", "kind": 12, "label": "runEffectFn8" }, { "detail": "∀ a b c d e f g h i r. EffectFn9 a b c d e f g h i r → a → b → c → d → e → f → g → h → i → Effect r", "documentation": { "kind": "markdown", "value": "\n*From: Effect.Uncurried*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runEffectFn9", "Effect.Uncurried", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runEffectFn9" }, "sortText": "Z.runEffectFn9", "additionalTextEdits": null, "filterText": null, "insertText": "runEffectFn9", "kind": 12, "label": "runEffectFn9" }, { "detail": "∀ a b c d e f g h i j r. EffectFn10 a b c d e f g h i j r → a → b → c → d → e → f → g → h → i → j → Effect r", "documentation": { "kind": "markdown", "value": "\n*From: Effect.Uncurried*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runEffectFn10", "Effect.Uncurried", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runEffectFn10" }, "sortText": "Z.runEffectFn10", "additionalTextEdits": null, "filterText": null, "insertText": "runEffectFn10", "kind": 12, "label": "runEffectFn10" }, { "detail": "ForeignError → String", "documentation": { "kind": "markdown", "value": "\n*From: Foreign*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "renderForeignError", "Foreign", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "renderForeignError" }, "sortText": "Z.renderForeignError", "additionalTextEdits": null, "filterText": null, "insertText": "renderForeignError", "kind": 12, "label": "renderForeignError" }, { "detail": "Foreign → F String", "documentation": { "kind": "markdown", "value": "Attempt to coerce a foreign value to a `String`.\n\n*From: Foreign*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "readString", "Foreign", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "readString" }, "sortText": "Z.readString", "additionalTextEdits": null, "filterText": null, "insertText": "readString", "kind": 12, "label": "readString" }, { "detail": "Foreign → F Char", "documentation": { "kind": "markdown", "value": "Attempt to coerce a foreign value to a `Char`.\n\n*From: Foreign*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "readChar", "Foreign", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "readChar" }, "sortText": "Z.readChar", "additionalTextEdits": null, "filterText": null, "insertText": "readChar", "kind": 12, "label": "readChar" }, { "detail": "Foreign → F Boolean", "documentation": { "kind": "markdown", "value": "Attempt to coerce a foreign value to a `Boolean`.\n\n*From: Foreign*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "readBoolean", "Foreign", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "readBoolean" }, "sortText": "Z.readBoolean", "additionalTextEdits": null, "filterText": null, "insertText": "readBoolean", "kind": 12, "label": "readBoolean" }, { "detail": "Foreign → F Number", "documentation": { "kind": "markdown", "value": "Attempt to coerce a foreign value to a `Number`.\n\n*From: Foreign*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "readNumber", "Foreign", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "readNumber" }, "sortText": "Z.readNumber", "additionalTextEdits": null, "filterText": null, "insertText": "readNumber", "kind": 12, "label": "readNumber" }, { "detail": "Foreign → F Int", "documentation": { "kind": "markdown", "value": "Attempt to coerce a foreign value to an `Int`.\n\n*From: Foreign*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "readInt", "Foreign", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "readInt" }, "sortText": "Z.readInt", "additionalTextEdits": null, "filterText": null, "insertText": "readInt", "kind": 12, "label": "readInt" }, { "detail": "Foreign → F (Array Foreign)", "documentation": { "kind": "markdown", "value": "Attempt to coerce a foreign value to an array.\n\n*From: Foreign*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "readArray", "Foreign", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "readArray" }, "sortText": "Z.readArray", "additionalTextEdits": null, "filterText": null, "insertText": "readArray", "kind": 12, "label": "readArray" }, { "detail": "Foreign → F (Maybe Foreign)", "documentation": { "kind": "markdown", "value": "\n*From: Foreign*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "readNull", "Foreign", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "readNull" }, "sortText": "Z.readNull", "additionalTextEdits": null, "filterText": null, "insertText": "readNull", "kind": 12, "label": "readNull" }, { "detail": "Foreign → F (Maybe Foreign)", "documentation": { "kind": "markdown", "value": "\n*From: Foreign*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "readUndefined", "Foreign", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "readUndefined" }, "sortText": "Z.readUndefined", "additionalTextEdits": null, "filterText": null, "insertText": "readUndefined", "kind": 12, "label": "readUndefined" }, { "detail": "Foreign → F (Maybe Foreign)", "documentation": { "kind": "markdown", "value": "\n*From: Foreign*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "readNullOrUndefined", "Foreign", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "readNullOrUndefined" }, "sortText": "Z.readNullOrUndefined", "additionalTextEdits": null, "filterText": null, "insertText": "readNullOrUndefined", "kind": 12, "label": "readNullOrUndefined" }, { "detail": "String → Foreign → F Foreign", "documentation": { "kind": "markdown", "value": "Attempt to read a value from a foreign value property\n\n*From: Foreign.Index*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "readProp", "Foreign.Index", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "readProp" }, "sortText": "Z.readProp", "additionalTextEdits": null, "filterText": null, "insertText": "readProp", "kind": 12, "label": "readProp" }, { "detail": "Int → Foreign → F Foreign", "documentation": { "kind": "markdown", "value": "Attempt to read a value from a foreign value at the specified numeric index\n\n*From: Foreign.Index*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "readIndex", "Foreign.Index", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "readIndex" }, "sortText": "Z.readIndex", "additionalTextEdits": null, "filterText": null, "insertText": "readIndex", "kind": 12, "label": "readIndex" }, { "detail": "Int → String → Number", "documentation": { "kind": "markdown", "value": "Parse an integer from a `String` in the specified base\n\n*From: Global*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "readInt", "Global", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "readInt" }, "sortText": "Z.readInt", "additionalTextEdits": null, "filterText": null, "insertText": "readInt", "kind": 12, "label": "readInt" }, { "detail": "String → Number", "documentation": { "kind": "markdown", "value": "Parse a floating point value from a `String`\n\n*From: Global*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "readFloat", "Global", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "readFloat" }, "sortText": "Z.readFloat", "additionalTextEdits": null, "filterText": null, "insertText": "readFloat", "kind": 12, "label": "readFloat" }, { "detail": "Number → Number", "documentation": { "kind": "markdown", "value": "Returns the integer closest to the argument.\n\n*From: Math*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "round", "Math", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "round" }, "sortText": "Z.round", "additionalTextEdits": null, "filterText": null, "insertText": "round", "kind": 12, "label": "round" }, { "detail": "Number → Number → Number", "documentation": { "kind": "markdown", "value": "Computes the remainder after division, wrapping Javascript's `%` operator.\n\n*From: Math*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "remainder", "Math", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "remainder" }, "sortText": "Z.remainder", "additionalTextEdits": null, "filterText": null, "insertText": "remainder", "kind": 12, "label": "remainder" }, { "detail": "∀ m buf. MutableBuffer buf m ⇒ BufferValueType → Int → buf → m Number", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "read", "Node.Buffer", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "read" }, "sortText": "Z.read", "additionalTextEdits": null, "filterText": null, "insertText": "read", "kind": 12, "label": "read" }, { "detail": "∀ m buf. MutableBuffer buf m ⇒ Encoding → Int → Int → buf → m String", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "readString", "Node.Buffer", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "readString" }, "sortText": "Z.readString", "additionalTextEdits": null, "filterText": null, "insertText": "readString", "kind": 12, "label": "readString" }, { "detail": "∀ m buf. MutableBuffer buf m ⇒ BufferValueType → Int → buf → m Number", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer.Class*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "read", "Node.Buffer.Class", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "read" }, "sortText": "Z.read", "additionalTextEdits": null, "filterText": null, "insertText": "read", "kind": 12, "label": "read" }, { "detail": "∀ m buf. MutableBuffer buf m ⇒ Encoding → Int → Int → buf → m String", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer.Class*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "readString", "Node.Buffer.Class", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "readString" }, "sortText": "Z.readString", "additionalTextEdits": null, "filterText": null, "insertText": "readString", "kind": 12, "label": "readString" }, { "detail": "BufferValueType → Offset → ImmutableBuffer → Number", "documentation": { "kind": "markdown", "value": "Reads a numeric value from a buffer at the specified offset.\n\n*From: Node.Buffer.Immutable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "read", "Node.Buffer.Immutable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "read" }, "sortText": "Z.read", "additionalTextEdits": null, "filterText": null, "insertText": "read", "kind": 12, "label": "read" }, { "detail": "Encoding → Offset → Offset → ImmutableBuffer → String", "documentation": { "kind": "markdown", "value": "Reads a section of a buffer as a string with the specified encoding.\n\n*From: Node.Buffer.Immutable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "readString", "Node.Buffer.Immutable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "readString" }, "sortText": "Z.readString", "additionalTextEdits": null, "filterText": null, "insertText": "readString", "kind": 12, "label": "readString" }, { "detail": "∀ buf m. Monad m ⇒ BufferValueType → Offset → buf → m Number", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "read", "Node.Buffer.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "read" }, "sortText": "Z.read", "additionalTextEdits": null, "filterText": null, "insertText": "read", "kind": 12, "label": "read" }, { "detail": "∀ buf m. Monad m ⇒ Encoding → Offset → Offset → buf → m String", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "readString", "Node.Buffer.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "readString" }, "sortText": "Z.readString", "additionalTextEdits": null, "filterText": null, "insertText": "readString", "kind": 12, "label": "readString" }, { "detail": "(∀ h. ST h (STBuffer h)) → ImmutableBuffer", "documentation": { "kind": "markdown", "value": "Runs an effect creating an `STBuffer` then freezes the buffer and returns\nit, without unneccessary copying.\n\n*From: Node.Buffer.ST*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "run", "Node.Buffer.ST", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "run" }, "sortText": "Z.run", "additionalTextEdits": null, "filterText": null, "insertText": "run", "kind": 12, "label": "run" }, { "detail": "FilePath → FilePath → Callback Unit → Effect Unit", "documentation": { "kind": "markdown", "value": "Renames a file.\n\n*From: Node.FS.Async*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "rename", "Node.FS.Async", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "rename" }, "sortText": "Z.rename", "additionalTextEdits": null, "filterText": null, "insertText": "rename", "kind": 12, "label": "rename" }, { "detail": "FilePath → Callback FilePath → Effect Unit", "documentation": { "kind": "markdown", "value": "Reads the value of a symlink.\n\n*From: Node.FS.Async*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "readlink", "Node.FS.Async", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "readlink" }, "sortText": "Z.readlink", "additionalTextEdits": null, "filterText": null, "insertText": "readlink", "kind": 12, "label": "readlink" }, { "detail": "FilePath → Callback FilePath → Effect Unit", "documentation": { "kind": "markdown", "value": "Find the canonicalized absolute location for a path.\n\n*From: Node.FS.Async*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "realpath", "Node.FS.Async", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "realpath" }, "sortText": "Z.realpath", "additionalTextEdits": null, "filterText": null, "insertText": "realpath", "kind": 12, "label": "realpath" }, { "detail": "∀ cache. FilePath → Record cache → Callback FilePath → Effect Unit", "documentation": { "kind": "markdown", "value": "Find the canonicalized absolute location for a path using a cache object\nfor already resolved paths.\n\n*From: Node.FS.Async*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "realpath'", "Node.FS.Async", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "realpath'" }, "sortText": "Z.realpath'", "additionalTextEdits": null, "filterText": null, "insertText": "realpath'", "kind": 12, "label": "realpath'" }, { "detail": "FilePath → Callback Unit → Effect Unit", "documentation": { "kind": "markdown", "value": "Deletes a directory.\n\n*From: Node.FS.Async*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "rmdir", "Node.FS.Async", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "rmdir" }, "sortText": "Z.rmdir", "additionalTextEdits": null, "filterText": null, "insertText": "rmdir", "kind": 12, "label": "rmdir" }, { "detail": "FilePath → Callback (Array FilePath) → Effect Unit", "documentation": { "kind": "markdown", "value": "Reads the contents of a directory.\n\n*From: Node.FS.Async*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "readdir", "Node.FS.Async", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "readdir" }, "sortText": "Z.readdir", "additionalTextEdits": null, "filterText": null, "insertText": "readdir", "kind": 12, "label": "readdir" }, { "detail": "FilePath → Callback Buffer → Effect Unit", "documentation": { "kind": "markdown", "value": "Reads the entire contents of a file returning the result as a raw buffer.\n\n*From: Node.FS.Async*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "readFile", "Node.FS.Async", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "readFile" }, "sortText": "Z.readFile", "additionalTextEdits": null, "filterText": null, "insertText": "readFile", "kind": 12, "label": "readFile" }, { "detail": "Encoding → FilePath → Callback String → Effect Unit", "documentation": { "kind": "markdown", "value": "Reads the entire contents of a text file with the specified encoding.\n\n*From: Node.FS.Async*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "readTextFile", "Node.FS.Async", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "readTextFile" }, "sortText": "Z.readTextFile", "additionalTextEdits": null, "filterText": null, "insertText": "readTextFile", "kind": 12, "label": "readTextFile" }, { "detail": "Perm", "documentation": { "kind": "markdown", "value": "The \"readable\" permission.\n\n*From: Node.FS.Perms*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "read", "Node.FS.Perms", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "read" }, "sortText": "Z.read", "additionalTextEdits": null, "filterText": null, "insertText": "read", "kind": 12, "label": "read" }, { "detail": "FilePath → FilePath → Effect Unit", "documentation": { "kind": "markdown", "value": "Renames a file.\n\n*From: Node.FS.Sync*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "rename", "Node.FS.Sync", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "rename" }, "sortText": "Z.rename", "additionalTextEdits": null, "filterText": null, "insertText": "rename", "kind": 12, "label": "rename" }, { "detail": "FilePath → Effect FilePath", "documentation": { "kind": "markdown", "value": "Reads the value of a symlink.\n\n*From: Node.FS.Sync*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "readlink", "Node.FS.Sync", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "readlink" }, "sortText": "Z.readlink", "additionalTextEdits": null, "filterText": null, "insertText": "readlink", "kind": 12, "label": "readlink" }, { "detail": "FilePath → Effect FilePath", "documentation": { "kind": "markdown", "value": "Find the canonicalized absolute location for a path.\n\n*From: Node.FS.Sync*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "realpath", "Node.FS.Sync", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "realpath" }, "sortText": "Z.realpath", "additionalTextEdits": null, "filterText": null, "insertText": "realpath", "kind": 12, "label": "realpath" }, { "detail": "∀ cache. FilePath → Record cache → Effect FilePath", "documentation": { "kind": "markdown", "value": "Find the canonicalized absolute location for a path using a cache object for\nalready resolved paths.\n\n*From: Node.FS.Sync*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "realpath'", "Node.FS.Sync", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "realpath'" }, "sortText": "Z.realpath'", "additionalTextEdits": null, "filterText": null, "insertText": "realpath'", "kind": 12, "label": "realpath'" }, { "detail": "FilePath → Effect Unit", "documentation": { "kind": "markdown", "value": "Deletes a directory.\n\n*From: Node.FS.Sync*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "rmdir", "Node.FS.Sync", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "rmdir" }, "sortText": "Z.rmdir", "additionalTextEdits": null, "filterText": null, "insertText": "rmdir", "kind": 12, "label": "rmdir" }, { "detail": "FilePath → Effect (Array FilePath)", "documentation": { "kind": "markdown", "value": "Reads the contents of a directory.\n\n*From: Node.FS.Sync*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "readdir", "Node.FS.Sync", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "readdir" }, "sortText": "Z.readdir", "additionalTextEdits": null, "filterText": null, "insertText": "readdir", "kind": 12, "label": "readdir" }, { "detail": "FilePath → Effect Buffer", "documentation": { "kind": "markdown", "value": "Reads the entire contents of a file returning the result as a raw buffer.\n\n*From: Node.FS.Sync*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "readFile", "Node.FS.Sync", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "readFile" }, "sortText": "Z.readFile", "additionalTextEdits": null, "filterText": null, "insertText": "readFile", "kind": 12, "label": "readFile" }, { "detail": "Encoding → FilePath → Effect String", "documentation": { "kind": "markdown", "value": "Reads the entire contents of a text file with the specified encoding.\n\n*From: Node.FS.Sync*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "readTextFile", "Node.FS.Sync", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "readTextFile" }, "sortText": "Z.readTextFile", "additionalTextEdits": null, "filterText": null, "insertText": "readTextFile", "kind": 12, "label": "readTextFile" }, { "detail": "Array FilePath → FilePath → Effect FilePath", "documentation": { "kind": "markdown", "value": "Resolves `to` to an absolute path ([from...], to).\n\n*From: Node.Path*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "resolve", "Node.Path", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "resolve" }, "sortText": "Z.resolve", "additionalTextEdits": null, "filterText": null, "insertText": "resolve", "kind": 12, "label": "resolve" }, { "detail": "FilePath → FilePath → FilePath", "documentation": { "kind": "markdown", "value": "Solve the relative path from `from` to `to`.\n\n*From: Node.Path*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "relative", "Node.Path", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "relative" }, "sortText": "Z.relative", "additionalTextEdits": null, "filterText": null, "insertText": "relative", "kind": 12, "label": "relative" }, { "detail": "∀ w. Readable w → Effect Unit", "documentation": { "kind": "markdown", "value": "Resume reading from the stream.\n\n*From: Node.Stream*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "resume", "Node.Stream", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "resume" }, "sortText": "Z.resume", "additionalTextEdits": null, "filterText": null, "insertText": "resume", "kind": 12, "label": "resume" }, { "detail": "∀ w. Readable w → Maybe Int → Effect (Maybe Buffer)", "documentation": { "kind": "markdown", "value": "\n*From: Node.Stream*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "read", "Node.Stream", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "read" }, "sortText": "Z.read", "additionalTextEdits": null, "filterText": null, "insertText": "read", "kind": 12, "label": "read" }, { "detail": "∀ w. Readable w → Maybe Int → Encoding → Effect (Maybe String)", "documentation": { "kind": "markdown", "value": "\n*From: Node.Stream*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "readString", "Node.Stream", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "readString" }, "sortText": "Z.readString", "additionalTextEdits": null, "filterText": null, "insertText": "readString", "kind": 12, "label": "readString" }, { "detail": "∀ w. Readable w → Maybe Int → Effect (Maybe (Either String Buffer))", "documentation": { "kind": "markdown", "value": "\n*From: Node.Stream*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "readEither", "Node.Stream", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "readEither" }, "sortText": "Z.readEither", "additionalTextEdits": null, "filterText": null, "insertText": "readEither", "kind": 12, "label": "readEither" }, { "detail": "∀ a a' b y y' c m. Monad m ⇒ Proxy a' a y' y m b → Proxy Unit b y' y m c → Proxy a' a y' y m c", "documentation": { "kind": "markdown", "value": "\n*From: Pipes*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "replaceAwait", "Pipes", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "replaceAwait" }, "sortText": "Z.replaceAwait", "additionalTextEdits": null, "filterText": null, "insertText": "replaceAwait", "kind": 12, "label": "replaceAwait" }, { "detail": "∀ a a' b y y' c m. Monad m ⇒ Proxy Unit b y' y m c → Proxy a' a y' y m b → Proxy a' a y' y m c", "documentation": { "kind": "markdown", "value": "\n*From: Pipes*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "replaceAwait'", "Pipes", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "replaceAwait'" }, "sortText": "Z.replaceAwait'", "additionalTextEdits": null, "filterText": null, "insertText": "replaceAwait'", "kind": 12, "label": "replaceAwait'" }, { "detail": "∀ m r. Monad m ⇒ Effect m r → m r", "documentation": { "kind": "markdown", "value": "\n*From: Pipes.Core*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runEffect", "Pipes.Core", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runEffect" }, "sortText": "Z.runEffect", "additionalTextEdits": null, "filterText": null, "insertText": "runEffect", "kind": 12, "label": "runEffect" }, { "detail": "∀ m r. MonadRec m ⇒ Effect m r → m r", "documentation": { "kind": "markdown", "value": "\n*From: Pipes.Core*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runEffectRec", "Pipes.Core", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runEffectRec" }, "sortText": "Z.runEffectRec", "additionalTextEdits": null, "filterText": null, "insertText": "runEffectRec", "kind": 12, "label": "runEffectRec" }, { "detail": "∀ m a a' x x'. Monad m ⇒ a → Proxy x' x a' a m a'", "documentation": { "kind": "markdown", "value": "\n*From: Pipes.Core*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "respond", "Pipes.Core", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "respond" }, "sortText": "Z.respond", "additionalTextEdits": null, "filterText": null, "insertText": "respond", "kind": 12, "label": "respond" }, { "detail": "∀ a a' y y' m. Monad m ⇒ a' → Proxy a' a y' y m a", "documentation": { "kind": "markdown", "value": "\n*From: Pipes.Core*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "request", "Pipes.Core", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "request" }, "sortText": "Z.request", "additionalTextEdits": null, "filterText": null, "insertText": "request", "kind": 12, "label": "request" }, { "detail": "∀ a a' b b' m r. Monad m ⇒ Proxy a' a b' b m r → Proxy b b' a a' m r", "documentation": { "kind": "markdown", "value": "\n*From: Pipes.Core*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "reflect", "Pipes.Core", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "reflect" }, "sortText": "Z.reflect", "additionalTextEdits": null, "filterText": null, "insertText": "reflect", "kind": 12, "label": "reflect" }, { "detail": "∀ a m. Monad m ⇒ ListT m a → m Unit", "documentation": { "kind": "markdown", "value": "\n*From: Pipes.ListT*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runListT", "Pipes.ListT", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runListT" }, "sortText": "Z.runListT", "additionalTextEdits": null, "filterText": null, "insertText": "runListT", "kind": 12, "label": "runListT" }, { "detail": "∀ a m. MonadRec m ⇒ ListT m a → m Unit", "documentation": { "kind": "markdown", "value": "\n*From: Pipes.ListT*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runListTRec", "Pipes.ListT", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runListTRec" }, "sortText": "Z.runListTRec", "additionalTextEdits": null, "filterText": null, "insertText": "runListTRec", "kind": 12, "label": "runListTRec" }, { "detail": "∀ a m r. Monad m ⇒ m a → Producer_ a m r", "documentation": { "kind": "markdown", "value": "Repeat a monadic action indefinitely, `yield`ing each result\n\n*From: Pipes.Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "repeatM", "Pipes.Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "repeatM" }, "sortText": "Z.repeatM", "additionalTextEdits": null, "filterText": null, "insertText": "repeatM", "kind": 12, "label": "repeatM" }, { "detail": "∀ a m. Monad m ⇒ Int → m a → Producer_ a m Unit", "documentation": { "kind": "markdown", "value": "Repeat a monadic action a fixed number of times, `yield`ing each result\n\n*From: Pipes.Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "replicateM", "Pipes.Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "replicateM" }, "sortText": "Z.replicateM", "additionalTextEdits": null, "filterText": null, "insertText": "replicateM", "kind": 12, "label": "replicateM" }, { "detail": "∀ a. DivisionRing a ⇒ a → a", "documentation": { "kind": "markdown", "value": "\n*From: Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "recip", "Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "recip" }, "sortText": "Z.recip", "additionalTextEdits": null, "filterText": null, "insertText": "recip", "kind": 12, "label": "recip" }, { "detail": "Effect Seed", "documentation": { "kind": "markdown", "value": "Create a random seed\n\n*From: Random.LCG*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "randomSeed", "Random.LCG", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "randomSeed" }, "sortText": "Z.randomSeed", "additionalTextEdits": null, "filterText": null, "insertText": "randomSeed", "kind": 12, "label": "randomSeed" }, { "detail": "∀ prev next ty input inter output. IsSymbol prev ⇒ IsSymbol next ⇒ Cons prev ty inter input ⇒ Lacks prev inter ⇒ Cons next ty inter output ⇒ Lacks next inter ⇒ SProxy prev → SProxy next → Record input → Record output", "documentation": { "kind": "markdown", "value": "Rename a property for a label which is specified using a value-level proxy for\na type-level string.\n\nNote that the type of the resulting row must _lack_ the specified property.\nSince duplicate labels are allowed, this is checked with a type class constraint.\n\nFor example:\n\n```purescript\nrename (SProxy :: SProxy \"x\") (SProxy :: SProxy \"y\")\n :: forall a r. Lacks \"x\" r => Lacks \"y\" r => { x :: a | r} -> { y :: a | r}\n```\n\n*From: Record*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "rename", "Record", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "rename" }, "sortText": "Z.rename", "additionalTextEdits": null, "filterText": null, "insertText": "rename", "kind": 12, "label": "rename" }, { "detail": "∀ l1 l2 a r1 r2 r3. IsSymbol l1 ⇒ IsSymbol l2 ⇒ Cons l1 a r2 r1 ⇒ Lacks l1 r2 ⇒ Cons l2 a r2 r3 ⇒ Lacks l2 r2 ⇒ SProxy l1 → SProxy l2 → Builder (Record r1) (Record r3)", "documentation": { "kind": "markdown", "value": "Build by renaming an existing field.\n\n*From: Record.Builder*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "rename", "Record.Builder", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "rename" }, "sortText": "Z.rename", "additionalTextEdits": null, "filterText": null, "insertText": "rename", "kind": 12, "label": "rename" }, { "detail": "Effect Seed", "documentation": { "kind": "markdown", "value": "Create a random seed\n\n*From: Test.QuickCheck*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "randomSeed", "Test.QuickCheck", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "randomSeed" }, "sortText": "Z.randomSeed", "additionalTextEdits": null, "filterText": null, "insertText": "randomSeed", "kind": 12, "label": "randomSeed" }, { "detail": "∀ a b. (a → Gen b) → Gen (a → b)", "documentation": { "kind": "markdown", "value": "Create a random generator for a function type.\n\n*From: Test.QuickCheck.Gen*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "repeatable", "Test.QuickCheck.Gen", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "repeatable" }, "sortText": "Z.repeatable", "additionalTextEdits": null, "filterText": null, "insertText": "repeatable", "kind": 12, "label": "repeatable" }, { "detail": "∀ a. Size → Gen a → Gen a", "documentation": { "kind": "markdown", "value": "Modify a random generator by setting a new size parameter.\n\n*From: Test.QuickCheck.Gen*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "resize", "Test.QuickCheck.Gen", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "resize" }, "sortText": "Z.resize", "additionalTextEdits": null, "filterText": null, "insertText": "resize", "kind": 12, "label": "resize" }, { "detail": "∀ a. Gen a → GenState → Tuple a GenState", "documentation": { "kind": "markdown", "value": "Run a random generator\n\n*From: Test.QuickCheck.Gen*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runGen", "Test.QuickCheck.Gen", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runGen" }, "sortText": "Z.runGen", "additionalTextEdits": null, "filterText": null, "insertText": "runGen", "kind": 12, "label": "runGen" }, { "detail": "∀ a. Gen a → Effect (Array a)", "documentation": { "kind": "markdown", "value": "Get a random sample of 10 values\n\n*From: Test.QuickCheck.Gen*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "randomSample", "Test.QuickCheck.Gen", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "randomSample" }, "sortText": "Z.randomSample", "additionalTextEdits": null, "filterText": null, "insertText": "randomSample", "kind": 12, "label": "randomSample" }, { "detail": "∀ a. Size → Gen a → Effect (Array a)", "documentation": { "kind": "markdown", "value": "Sample a random generator, using a randomly generated seed\n\n*From: Test.QuickCheck.Gen*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "randomSample'", "Test.QuickCheck.Gen", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "randomSample'" }, "sortText": "Z.randomSample'", "additionalTextEdits": null, "filterText": null, "insertText": "randomSample'", "kind": 12, "label": "randomSample'" }, { "detail": "Warn (Text \"`Test.Spec.Runner.run` is Deprecated use runSpec instead\") ⇒ Array Reporter → Spec Unit → Aff Unit", "documentation": { "kind": "markdown", "value": "Run the spec with the default config\n\n*From: Test.Spec.Runner*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "run", "Test.Spec.Runner", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "run" }, "sortText": "Z.run", "additionalTextEdits": null, "filterText": null, "insertText": "run", "kind": 12, "label": "run" }, { "detail": "∀ m. Functor m ⇒ Config → Array Reporter → SpecT Aff Unit m Unit → m (Aff (Array (Tree Void Result)))", "documentation": { "kind": "markdown", "value": "Run the spec with `config`, returning the results, which\nare also reported using specified Reporters, if any.\nIf configured as such, `exit` the program upon completion\nwith appropriate exit code.\n\n*From: Test.Spec.Runner*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runSpecT", "Test.Spec.Runner", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runSpecT" }, "sortText": "Z.runSpecT", "additionalTextEdits": null, "filterText": null, "insertText": "runSpecT", "kind": 12, "label": "runSpecT" }, { "detail": "Array Reporter → Spec Unit → Aff Unit", "documentation": { "kind": "markdown", "value": "Run the spec with the default config\n\n*From: Test.Spec.Runner*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runSpec", "Test.Spec.Runner", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runSpec" }, "sortText": "Z.runSpec", "additionalTextEdits": null, "filterText": null, "insertText": "runSpec", "kind": 12, "label": "runSpec" }, { "detail": "Config → Array Reporter → Spec Unit → Aff Unit", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Runner*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runSpec'", "Test.Spec.Runner", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "runSpec'" }, "sortText": "Z.runSpec'", "additionalTextEdits": null, "filterText": null, "insertText": "runSpec'", "kind": 12, "label": "runSpec'" }, { "detail": "Style", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Style*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "red", "Test.Spec.Style", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 9, "line": 9 }, "end": { "line": 9, "character": 10 } }, "newText": "red" }, "sortText": "Z.red", "additionalTextEdits": null, "filterText": null, "insertText": "red", "kind": 12, "label": "red" } ], "isIncomplete": false } [Trace - 4:16:57 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 69 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec)\n\nspec :: Spec Unit\nspec = describe \"Problems\" do\n describe \"Problem 1\" do\n it \"retur\n" } ] } [Trace - 4:16:57 PM] Sending request 'textDocument/completion - (36)'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" }, "position": { "line": 9, "character": 14 }, "context": { "triggerKind": 1 } } [Trace - 4:16:57 PM] Received notification 'window/logMessage'. Params: { "type": 3, "message": "[Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead\n" } [Info - 4:16:57 PM] [Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead [Trace - 4:16:57 PM] Received response 'textDocument/completion - (36)' in 11ms. Result: { "items": [], "isIncomplete": false } [Trace - 4:16:57 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 70 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec)\n\nspec :: Spec Unit\nspec = describe \"Problems\" do\n describe \"Problem 1\" do\n it \"return\n" } ] } [Trace - 4:16:57 PM] Sending request 'textDocument/completion - (37)'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" }, "position": { "line": 9, "character": 15 }, "context": { "triggerKind": 1 } } [Trace - 4:16:57 PM] Received notification 'window/logMessage'. Params: { "type": 3, "message": "[Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead\n" } [Info - 4:16:57 PM] [Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead [Trace - 4:16:57 PM] Received response 'textDocument/completion - (37)' in 11ms. Result: { "items": [], "isIncomplete": false } [Trace - 4:16:57 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 71 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec)\n\nspec :: Spec Unit\nspec = describe \"Problems\" do\n describe \"Problem 1\" do\n it \"returns\n" } ] } [Trace - 4:16:57 PM] Sending request 'textDocument/completion - (38)'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" }, "position": { "line": 9, "character": 16 }, "context": { "triggerKind": 1 } } [Trace - 4:16:57 PM] Received notification 'window/logMessage'. Params: { "type": 3, "message": "[Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead\n" } [Info - 4:16:57 PM] [Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead [Trace - 4:16:57 PM] Received response 'textDocument/completion - (38)' in 11ms. Result: { "items": [], "isIncomplete": false } [Trace - 4:16:58 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 72 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec)\n\nspec :: Spec Unit\nspec = describe \"Problems\" do\n describe \"Problem 1\" do\n it \"returns \n" } ] } [Trace - 4:16:58 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 73 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec)\n\nspec :: Spec Unit\nspec = describe \"Problems\" do\n describe \"Problem 1\" do\n it \"returns c\n" } ] } [Trace - 4:16:58 PM] Sending request 'textDocument/completion - (39)'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" }, "position": { "line": 9, "character": 18 }, "context": { "triggerKind": 1 } } [Trace - 4:16:58 PM] Received notification 'window/logMessage'. Params: { "type": 3, "message": "[Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead\n" } [Info - 4:16:58 PM] [Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead [Trace - 4:16:58 PM] Received response 'textDocument/completion - (39)' in 51ms. Result: { "items": [ { "detail": "String", "documentation": { "kind": "markdown", "value": "The suffix for escape codes; note that this is only required for colors.\n\n*From: Ansi.Codes*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "colorSuffix", "Ansi.Codes", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "colorSuffix" }, "sortText": "Z.colorSuffix", "additionalTextEdits": null, "filterText": null, "insertText": "colorSuffix", "kind": 12, "label": "colorSuffix" }, { "detail": "RenderingMode → Int", "documentation": { "kind": "markdown", "value": "\n*From: Ansi.Codes*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "codeForRenderingMode", "Ansi.Codes", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "codeForRenderingMode" }, "sortText": "Z.codeForRenderingMode", "additionalTextEdits": null, "filterText": null, "insertText": "codeForRenderingMode", "kind": 12, "label": "codeForRenderingMode" }, { "detail": "Color → Int", "documentation": { "kind": "markdown", "value": "\n*From: Ansi.Codes*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "colorCode", "Ansi.Codes", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "colorCode" }, "sortText": "Z.colorCode", "additionalTextEdits": null, "filterText": null, "insertText": "colorCode", "kind": 12, "label": "colorCode" }, { "detail": "∀ a b c m. Bind m ⇒ (a → m b) → (b → m c) → a → m c", "documentation": { "kind": "markdown", "value": "Forwards Kleisli composition.\n\nFor example:\n\n```purescript\nimport Data.Array (head, tail)\n\nthird = tail >=> tail >=> head\n```\n\n*From: Control.Bind*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "composeKleisli", "Control.Bind", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "composeKleisli" }, "sortText": "Z.composeKleisli", "additionalTextEdits": null, "filterText": null, "insertText": "composeKleisli", "kind": 12, "label": "composeKleisli" }, { "detail": "∀ a b c m. Bind m ⇒ (b → m c) → (a → m b) → a → m c", "documentation": { "kind": "markdown", "value": "Backwards Kleisli composition.\n\n*From: Control.Bind*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "composeKleisliFlipped", "Control.Bind", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "composeKleisliFlipped" }, "sortText": "Z.composeKleisliFlipped", "additionalTextEdits": null, "filterText": null, "insertText": "composeKleisliFlipped", "kind": 12, "label": "composeKleisliFlipped" }, { "detail": "∀ b c d a. Semigroupoid a ⇒ a c d → a b c → a b d", "documentation": { "kind": "markdown", "value": "\n*From: Control.Category*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "compose", "Control.Category", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "compose" }, "sortText": "Z.compose", "additionalTextEdits": null, "filterText": null, "insertText": "compose", "kind": 12, "label": "compose" }, { "detail": "∀ w a t. Functor w ⇒ (t → t) → TracedT t w a → TracedT t w a", "documentation": { "kind": "markdown", "value": "Apply a function to the current position.\n\n*From: Control.Comonad.Traced*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "censor", "Control.Comonad.Traced", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "censor" }, "sortText": "Z.censor", "additionalTextEdits": null, "filterText": null, "insertText": "censor", "kind": 12, "label": "censor" }, { "detail": "∀ w a t. Functor w ⇒ (t → t) → TracedT t w a → TracedT t w a", "documentation": { "kind": "markdown", "value": "Apply a function to the current position.\n\n*From: Control.Comonad.Traced.Class*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "censor", "Control.Comonad.Traced.Class", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "censor" }, "sortText": "Z.censor", "additionalTextEdits": null, "filterText": null, "insertText": "censor", "kind": 12, "label": "censor" }, { "detail": "∀ b a w c. Extend w ⇒ (w a → b) → (w b → c) → w a → c", "documentation": { "kind": "markdown", "value": "Forwards co-Kleisli composition.\n\n*From: Control.Extend*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "composeCoKleisli", "Control.Extend", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "composeCoKleisli" }, "sortText": "Z.composeCoKleisli", "additionalTextEdits": null, "filterText": null, "insertText": "composeCoKleisli", "kind": 12, "label": "composeCoKleisli" }, { "detail": "∀ b a w c. Extend w ⇒ (w b → c) → (w a → b) → w a → c", "documentation": { "kind": "markdown", "value": "Backwards co-Kleisli composition.\n\n*From: Control.Extend*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "composeCoKleisliFlipped", "Control.Extend", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "composeCoKleisliFlipped" }, "sortText": "Z.composeCoKleisliFlipped", "additionalTextEdits": null, "filterText": null, "insertText": "composeCoKleisliFlipped", "kind": 12, "label": "composeCoKleisliFlipped" }, { "detail": "∀ a r. ((a → r) → r) → Cont r a", "documentation": { "kind": "markdown", "value": "Creates a computation in the `Cont` monad.\n\n*From: Control.Monad.Cont*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "cont", "Control.Monad.Cont", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "cont" }, "sortText": "Z.cont", "additionalTextEdits": null, "filterText": null, "insertText": "cont", "kind": 12, "label": "cont" }, { "detail": "∀ a m. MonadCont m ⇒ ((∀ b. a → m b) → m a) → m a", "documentation": { "kind": "markdown", "value": "\n*From: Control.Monad.Cont*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "callCC", "Control.Monad.Cont", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "callCC" }, "sortText": "Z.callCC", "additionalTextEdits": null, "filterText": null, "insertText": "callCC", "kind": 12, "label": "callCC" }, { "detail": "∀ a m. MonadCont m ⇒ ((∀ b. a → m b) → m a) → m a", "documentation": { "kind": "markdown", "value": "\n*From: Control.Monad.Cont.Class*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "callCC", "Control.Monad.Cont.Class", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "callCC" }, "sortText": "Z.callCC", "additionalTextEdits": null, "filterText": null, "insertText": "callCC", "kind": 12, "label": "callCC" }, { "detail": "∀ a m. MonadCont m ⇒ ((∀ b. a → m b) → m a) → m a", "documentation": { "kind": "markdown", "value": "\n*From: Control.Monad.Cont.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "callCC", "Control.Monad.Cont.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "callCC" }, "sortText": "Z.callCC", "additionalTextEdits": null, "filterText": null, "insertText": "callCC", "kind": 12, "label": "callCC" }, { "detail": "∀ a m e. MonadError e m ⇒ m a → (e → m a) → m a", "documentation": { "kind": "markdown", "value": "\n*From: Control.Monad.Error.Class*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "catchError", "Control.Monad.Error.Class", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "catchError" }, "sortText": "Z.catchError", "additionalTextEdits": null, "filterText": null, "insertText": "catchError", "kind": 12, "label": "catchError" }, { "detail": "∀ e m a b. MonadError e m ⇒ (e → Maybe b) → m a → (b → m a) → m a", "documentation": { "kind": "markdown", "value": "This function allows you to provide a predicate for selecting the\nexceptions that you're interested in, and handle only those exceptons.\nIf the inner computation throws an exception, and the predicate returns\nNothing, then the whole computation will still fail with that exception.\n\n*From: Control.Monad.Error.Class*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "catchJust", "Control.Monad.Error.Class", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "catchJust" }, "sortText": "Z.catchJust", "additionalTextEdits": null, "filterText": null, "insertText": "catchJust", "kind": 12, "label": "catchJust" }, { "detail": "∀ a m e. MonadError e m ⇒ m a → (e → m a) → m a", "documentation": { "kind": "markdown", "value": "\n*From: Control.Monad.Except*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "catchError", "Control.Monad.Except", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "catchError" }, "sortText": "Z.catchError", "additionalTextEdits": null, "filterText": null, "insertText": "catchError", "kind": 12, "label": "catchError" }, { "detail": "∀ e m a b. MonadError e m ⇒ (e → Maybe b) → m a → (b → m a) → m a", "documentation": { "kind": "markdown", "value": "This function allows you to provide a predicate for selecting the\nexceptions that you're interested in, and handle only those exceptons.\nIf the inner computation throws an exception, and the predicate returns\nNothing, then the whole computation will still fail with that exception.\n\n*From: Control.Monad.Except*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "catchJust", "Control.Monad.Except", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "catchJust" }, "sortText": "Z.catchJust", "additionalTextEdits": null, "filterText": null, "insertText": "catchJust", "kind": 12, "label": "catchJust" }, { "detail": "∀ a m e. MonadError e m ⇒ m a → (e → m a) → m a", "documentation": { "kind": "markdown", "value": "\n*From: Control.Monad.Except.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "catchError", "Control.Monad.Except.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "catchError" }, "sortText": "Z.catchError", "additionalTextEdits": null, "filterText": null, "insertText": "catchError", "kind": 12, "label": "catchError" }, { "detail": "∀ m a. MonadGen m ⇒ m a → m a → m a", "documentation": { "kind": "markdown", "value": "Creates a generator that outputs a value chosen from one of two existing\nexisting generators with even probability.\n\n*From: Control.Monad.Gen*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "choose", "Control.Monad.Gen", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "choose" }, "sortText": "Z.choose", "additionalTextEdits": null, "filterText": null, "insertText": "choose", "kind": 12, "label": "choose" }, { "detail": "∀ m. MonadGen m ⇒ m Boolean", "documentation": { "kind": "markdown", "value": "\n*From: Control.Monad.Gen*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "chooseBool", "Control.Monad.Gen", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "chooseBool" }, "sortText": "Z.chooseBool", "additionalTextEdits": null, "filterText": null, "insertText": "chooseBool", "kind": 12, "label": "chooseBool" }, { "detail": "∀ m. MonadGen m ⇒ Number → Number → m Number", "documentation": { "kind": "markdown", "value": "\n*From: Control.Monad.Gen*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "chooseFloat", "Control.Monad.Gen", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "chooseFloat" }, "sortText": "Z.chooseFloat", "additionalTextEdits": null, "filterText": null, "insertText": "chooseFloat", "kind": 12, "label": "chooseFloat" }, { "detail": "∀ m. MonadGen m ⇒ Int → Int → m Int", "documentation": { "kind": "markdown", "value": "\n*From: Control.Monad.Gen*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "chooseInt", "Control.Monad.Gen", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "chooseInt" }, "sortText": "Z.chooseInt", "additionalTextEdits": null, "filterText": null, "insertText": "chooseInt", "kind": 12, "label": "chooseInt" }, { "detail": "∀ m. MonadGen m ⇒ m Boolean", "documentation": { "kind": "markdown", "value": "\n*From: Control.Monad.Gen.Class*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "chooseBool", "Control.Monad.Gen.Class", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "chooseBool" }, "sortText": "Z.chooseBool", "additionalTextEdits": null, "filterText": null, "insertText": "chooseBool", "kind": 12, "label": "chooseBool" }, { "detail": "∀ m. MonadGen m ⇒ Number → Number → m Number", "documentation": { "kind": "markdown", "value": "\n*From: Control.Monad.Gen.Class*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "chooseFloat", "Control.Monad.Gen.Class", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "chooseFloat" }, "sortText": "Z.chooseFloat", "additionalTextEdits": null, "filterText": null, "insertText": "chooseFloat", "kind": 12, "label": "chooseFloat" }, { "detail": "∀ m. MonadGen m ⇒ Int → Int → m Int", "documentation": { "kind": "markdown", "value": "\n*From: Control.Monad.Gen.Class*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "chooseInt", "Control.Monad.Gen.Class", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "chooseInt" }, "sortText": "Z.chooseInt", "additionalTextEdits": null, "filterText": null, "insertText": "chooseInt", "kind": 12, "label": "chooseInt" }, { "detail": "∀ f a. Functor f ⇒ ListT f (Maybe a) → ListT f a", "documentation": { "kind": "markdown", "value": "Remove elements from a list which do not contain a value.\n\n*From: Control.Monad.List.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "catMaybes", "Control.Monad.List.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "catMaybes" }, "sortText": "Z.catMaybes", "additionalTextEdits": null, "filterText": null, "insertText": "catMaybes", "kind": 12, "label": "catMaybes" }, { "detail": "∀ f a. Applicative f ⇒ Lazy a → Lazy (ListT f a) → ListT f a", "documentation": { "kind": "markdown", "value": "Attach an element to the front of a list.\n\n*From: Control.Monad.List.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "cons", "Control.Monad.List.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "cons" }, "sortText": "Z.cons", "additionalTextEdits": null, "filterText": null, "insertText": "cons", "kind": 12, "label": "cons" }, { "detail": "∀ m1 m2 m3 t. MMonad t ⇒ Monad m3 ⇒ m1 ~> t m2 → m2 ~> t m3 → m1 ~> t m3", "documentation": { "kind": "markdown", "value": "\n*From: Control.Monad.Morph*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "composeKleisliRight", "Control.Monad.Morph", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "composeKleisliRight" }, "sortText": "Z.composeKleisliRight", "additionalTextEdits": null, "filterText": null, "insertText": "composeKleisliRight", "kind": 12, "label": "composeKleisliRight" }, { "detail": "∀ m1 m2 m3 t. MMonad t ⇒ Monad m3 ⇒ m2 ~> t m3 → m1 ~> t m2 → m1 ~> t m3", "documentation": { "kind": "markdown", "value": "\n*From: Control.Monad.Morph*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "composeKleisliLeft", "Control.Monad.Morph", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "composeKleisliLeft" }, "sortText": "Z.composeKleisliLeft", "additionalTextEdits": null, "filterText": null, "insertText": "composeKleisliLeft", "kind": 12, "label": "composeKleisliLeft" }, { "detail": "∀ w m a. MonadWriter w m ⇒ (w → w) → m a → m a", "documentation": { "kind": "markdown", "value": "Modify the final accumulator value by applying a function.\n\n*From: Control.Monad.RWS*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "censor", "Control.Monad.RWS", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "censor" }, "sortText": "Z.censor", "additionalTextEdits": null, "filterText": null, "insertText": "censor", "kind": 12, "label": "censor" }, { "detail": "∀ w m a. MonadWriter w m ⇒ (w → w) → m a → m a", "documentation": { "kind": "markdown", "value": "Modify the final accumulator value by applying a function.\n\n*From: Control.Monad.Writer*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "censor", "Control.Monad.Writer", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "censor" }, "sortText": "Z.censor", "additionalTextEdits": null, "filterText": null, "insertText": "censor", "kind": 12, "label": "censor" }, { "detail": "∀ w m a. MonadWriter w m ⇒ (w → w) → m a → m a", "documentation": { "kind": "markdown", "value": "Modify the final accumulator value by applying a function.\n\n*From: Control.Monad.Writer.Class*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "censor", "Control.Monad.Writer.Class", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "censor" }, "sortText": "Z.censor", "additionalTextEdits": null, "filterText": null, "insertText": "censor", "kind": 12, "label": "censor" }, { "detail": "∀ w m a. MonadWriter w m ⇒ (w → w) → m a → m a", "documentation": { "kind": "markdown", "value": "Modify the final accumulator value by applying a function.\n\n*From: Control.Monad.Writer.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "censor", "Control.Monad.Writer.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "censor" }, "sortText": "Z.censor", "additionalTextEdits": null, "filterText": null, "insertText": "censor", "kind": 12, "label": "censor" }, { "detail": "∀ b c d a. Semigroupoid a ⇒ a c d → a b c → a b d", "documentation": { "kind": "markdown", "value": "\n*From: Control.Semigroupoid*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "compose", "Control.Semigroupoid", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "compose" }, "sortText": "Z.compose", "additionalTextEdits": null, "filterText": null, "insertText": "compose", "kind": 12, "label": "compose" }, { "detail": "∀ a b c d. Semigroupoid a ⇒ a b c → a c d → a b d", "documentation": { "kind": "markdown", "value": "Forwards composition, or `compose` with its arguments reversed.\n\n*From: Control.Semigroupoid*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "composeFlipped", "Control.Semigroupoid", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "composeFlipped" }, "sortText": "Z.composeFlipped", "additionalTextEdits": null, "filterText": null, "insertText": "composeFlipped", "kind": 12, "label": "composeFlipped" }, { "detail": "∀ a. a → Array a → Array a", "documentation": { "kind": "markdown", "value": "Attaches an element to the front of an array, creating a new array.\n\n```purescript\ncons 1 [2, 3, 4] = [1, 2, 3, 4]\n```\n\nNote, the running time of this function is `O(n)`.\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "cons", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "cons" }, "sortText": "Z.cons", "additionalTextEdits": null, "filterText": null, "insertText": "cons", "kind": 12, "label": "cons" }, { "detail": "∀ a. Array (Array a) → Array a", "documentation": { "kind": "markdown", "value": "Flatten an array of arrays, creating a new array.\n\n```purescript\nconcat [[1, 2, 3], [], [4, 5, 6]] = [1, 2, 3, 4, 5, 6]\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "concat", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "concat" }, "sortText": "Z.concat", "additionalTextEdits": null, "filterText": null, "insertText": "concat", "kind": 12, "label": "concat" }, { "detail": "∀ a b. (a → Array b) → Array a → Array b", "documentation": { "kind": "markdown", "value": "Apply a function to each element in an array, and flatten the results\ninto a single, new array.\n\n```purescript\nconcatMap (split $ Pattern \" \") [\"Hello World\", \"other thing\"]\n = [\"Hello\", \"World\", \"other\", \"thing\"]\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "concatMap", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "concatMap" }, "sortText": "Z.concatMap", "additionalTextEdits": null, "filterText": null, "insertText": "concatMap", "kind": 12, "label": "concatMap" }, { "detail": "∀ a. Array (Maybe a) → Array a", "documentation": { "kind": "markdown", "value": "Filter an array of optional values, keeping only the elements which contain\na value, creating a new array.\n\n```purescript\ncatMaybes [Nothing, Just 2, Nothing, Just 4] = [2, 4]\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "catMaybes", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "catMaybes" }, "sortText": "Z.catMaybes", "additionalTextEdits": null, "filterText": null, "insertText": "catMaybes", "kind": 12, "label": "catMaybes" }, { "detail": "∀ a. a → NonEmptyArray a → NonEmptyArray a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "cons", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "cons" }, "sortText": "Z.cons", "additionalTextEdits": null, "filterText": null, "insertText": "cons", "kind": 12, "label": "cons" }, { "detail": "∀ a. a → Array a → NonEmptyArray a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "cons'", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "cons'" }, "sortText": "Z.cons'", "additionalTextEdits": null, "filterText": null, "insertText": "cons'", "kind": 12, "label": "cons'" }, { "detail": "∀ a. NonEmptyArray (NonEmptyArray a) → NonEmptyArray a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "concat", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "concat" }, "sortText": "Z.concat", "additionalTextEdits": null, "filterText": null, "insertText": "concat", "kind": 12, "label": "concat" }, { "detail": "∀ a b. (a → NonEmptyArray b) → NonEmptyArray a → NonEmptyArray b", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "concatMap", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "concatMap" }, "sortText": "Z.concatMap", "additionalTextEdits": null, "filterText": null, "insertText": "concatMap", "kind": 12, "label": "concatMap" }, { "detail": "∀ a. NonEmptyArray (Maybe a) → Array a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "catMaybes", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "catMaybes" }, "sortText": "Z.catMaybes", "additionalTextEdits": null, "filterText": null, "insertText": "catMaybes", "kind": 12, "label": "catMaybes" }, { "detail": "∀ a. HeytingAlgebra a ⇒ a → a → a", "documentation": { "kind": "markdown", "value": "\n*From: Data.BooleanAlgebra*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "conj", "Data.BooleanAlgebra", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "conj" }, "sortText": "Z.conj", "additionalTextEdits": null, "filterText": null, "insertText": "conj", "kind": 12, "label": "conj" }, { "detail": "∀ a. Ord a ⇒ a → a → Ordering", "documentation": { "kind": "markdown", "value": "\n*From: Data.Bounded*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "compare", "Data.Bounded", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "compare" }, "sortText": "Z.compare", "additionalTextEdits": null, "filterText": null, "insertText": "compare", "kind": 12, "label": "compare" }, { "detail": "∀ a. a → CatList a → CatList a", "documentation": { "kind": "markdown", "value": "Append an element to the beginning of the catenable list, creating a new\ncatenable list.\n\nRunning time: `O(1)`\n\n*From: Data.CatList*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "cons", "Data.CatList", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "cons" }, "sortText": "Z.cons", "additionalTextEdits": null, "filterText": null, "insertText": "cons", "kind": 12, "label": "cons" }, { "detail": "∀ a. a → CatQueue a → CatQueue a", "documentation": { "kind": "markdown", "value": "Append an element to the beginning of the queue, creating a new queue.\n\nRunning time: `O(1)`\n\n*From: Data.CatQueue*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "cons", "Data.CatQueue", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "cons" }, "sortText": "Z.cons", "additionalTextEdits": null, "filterText": null, "insertText": "cons", "kind": 12, "label": "cons" }, { "detail": "∀ f a b. (a → b) → f a → Coyoneda f b", "documentation": { "kind": "markdown", "value": "Construct a value of type `Coyoneda f b` from a mapping function and a\nvalue of type `f a`.\n\n*From: Data.Coyoneda*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "coyoneda", "Data.Coyoneda", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "coyoneda" }, "sortText": "Z.coyoneda", "additionalTextEdits": null, "filterText": null, "insertText": "coyoneda", "kind": 12, "label": "coyoneda" }, { "detail": "Year → Month → Day → Date", "documentation": { "kind": "markdown", "value": "Constructs a date from year, month, and day components. The resulting date\ncomponents may not be identical to the input values, as the date will be\ncanonicalised according to the Gregorian calendar. For example, date\nvalues for the invalid date 2016-02-31 will be corrected to 2016-03-02.\n\n*From: Data.Date*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "canonicalDate", "Data.Date", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "canonicalDate" }, "sortText": "Z.canonicalDate", "additionalTextEdits": null, "filterText": null, "insertText": "canonicalDate", "kind": 12, "label": "canonicalDate" }, { "detail": "Year → Month → Day → Date", "documentation": { "kind": "markdown", "value": "Constructs a date from year, month, and day components. The resulting date\ncomponents may not be identical to the input values, as the date will be\ncanonicalised according to the Gregorian calendar. For example, date\nvalues for the invalid date 2016-02-31 will be corrected to 2016-03-02.\n\n*From: Data.DateTime*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "canonicalDate", "Data.DateTime", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "canonicalDate" }, "sortText": "Z.canonicalDate", "additionalTextEdits": null, "filterText": null, "insertText": "canonicalDate", "kind": 12, "label": "canonicalDate" }, { "detail": "∀ a b c f. Decide f ⇒ (a → Either b c) → f b → f c → f a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Decide*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "choose", "Data.Decide", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "choose" }, "sortText": "Z.choose", "additionalTextEdits": null, "filterText": null, "insertText": "choose", "kind": 12, "label": "choose" }, { "detail": "∀ f a b. Decide f ⇒ f a → f b → f (Either a b)", "documentation": { "kind": "markdown", "value": "`chosen = choose id`\n\n*From: Data.Decide*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "chosen", "Data.Decide", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "chosen" }, "sortText": "Z.chosen", "additionalTextEdits": null, "filterText": null, "insertText": "chosen", "kind": 12, "label": "chosen" }, { "detail": "∀ a b g f. Distributive f ⇒ Functor g ⇒ (a → f b) → g a → f (g b)", "documentation": { "kind": "markdown", "value": "\n*From: Data.Distributive*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "collect", "Data.Distributive", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "collect" }, "sortText": "Z.collect", "additionalTextEdits": null, "filterText": null, "insertText": "collect", "kind": 12, "label": "collect" }, { "detail": "∀ a b f g. Distributive f ⇒ Functor g ⇒ (a → f b) → g a → f (g b)", "documentation": { "kind": "markdown", "value": "A default implementation of `collect`, based on `distribute`.\n\n*From: Data.Distributive*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "collectDefault", "Data.Distributive", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "collectDefault" }, "sortText": "Z.collectDefault", "additionalTextEdits": null, "filterText": null, "insertText": "collectDefault", "kind": 12, "label": "collectDefault" }, { "detail": "∀ a b f g. Distributive f ⇒ Functor g ⇒ (g a → b) → g (f a) → f b", "documentation": { "kind": "markdown", "value": "Zip an arbitrary collection of containers and summarize the results\n\n*From: Data.Distributive*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "cotraverse", "Data.Distributive", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "cotraverse" }, "sortText": "Z.cotraverse", "additionalTextEdits": null, "filterText": null, "insertText": "cotraverse", "kind": 12, "label": "cotraverse" }, { "detail": "∀ a f. Divisible f ⇒ f a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Divisible*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "conquer", "Data.Divisible", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "conquer" }, "sortText": "Z.conquer", "additionalTextEdits": null, "filterText": null, "insertText": "conquer", "kind": 12, "label": "conquer" }, { "detail": "∀ m a b. Alt m ⇒ m a → m b → m (Either a b)", "documentation": { "kind": "markdown", "value": "Combine two alternatives.\n\n*From: Data.Either*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "choose", "Data.Either", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "choose" }, "sortText": "Z.choose", "additionalTextEdits": null, "filterText": null, "insertText": "choose", "kind": 12, "label": "choose" }, { "detail": "∀ a. BoundedEnum a ⇒ Cardinality a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Enum*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "cardinality", "Data.Enum", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "cardinality" }, "sortText": "Z.cardinality", "additionalTextEdits": null, "filterText": null, "insertText": "cardinality", "kind": 12, "label": "cardinality" }, { "detail": "∀ a. Comparison a → Equivalence a", "documentation": { "kind": "markdown", "value": "An equivalence relation for any `Comparison`.\n\n*From: Data.Equivalence*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "comparisonEquivalence", "Data.Equivalence", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "comparisonEquivalence" }, "sortText": "Z.comparisonEquivalence", "additionalTextEdits": null, "filterText": null, "insertText": "comparisonEquivalence", "kind": 12, "label": "comparisonEquivalence" }, { "detail": "∀ a b. a → b → a", "documentation": { "kind": "markdown", "value": "Returns its first argument and ignores its second.\n\n```purescript\nconst 1 \"hello\" = 1\n```\n\n*From: Data.Function*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "const", "Data.Function", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "const" }, "sortText": "Z.const", "additionalTextEdits": null, "filterText": null, "insertText": "const", "kind": 12, "label": "const" }, { "detail": "∀ b c d a. Semigroupoid a ⇒ a c d → a b c → a b d", "documentation": { "kind": "markdown", "value": "\n*From: Data.Function*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "compose", "Data.Function", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "compose" }, "sortText": "Z.compose", "additionalTextEdits": null, "filterText": null, "insertText": "compose", "kind": 12, "label": "compose" }, { "detail": "∀ a b f. Contravariant f ⇒ (b → a) → f a → f b", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Contravariant*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "cmap", "Data.Functor.Contravariant", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "cmap" }, "sortText": "Z.cmap", "additionalTextEdits": null, "filterText": null, "insertText": "cmap", "kind": 12, "label": "cmap" }, { "detail": "∀ a b f. Contravariant f ⇒ f a → (b → a) → f b", "documentation": { "kind": "markdown", "value": "`cmapFlipped` is `cmap` with its arguments reversed.\n\n*From: Data.Functor.Contravariant*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "cmapFlipped", "Data.Functor.Contravariant", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "cmapFlipped" }, "sortText": "Z.cmapFlipped", "additionalTextEdits": null, "filterText": null, "insertText": "cmapFlipped", "kind": 12, "label": "cmapFlipped" }, { "detail": "∀ f a b. Contravariant f ⇒ Functor f ⇒ f a → f b", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Contravariant*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "coerce", "Data.Functor.Contravariant", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "coerce" }, "sortText": "Z.coerce", "additionalTextEdits": null, "filterText": null, "insertText": "coerce", "kind": 12, "label": "coerce" }, { "detail": "∀ f g a b. (f a → b) → (g a → b) → Coproduct f g a → b", "documentation": { "kind": "markdown", "value": "Eliminate a coproduct by providing eliminators for the left and\nright components\n\n*From: Data.Functor.Coproduct*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "coproduct", "Data.Functor.Coproduct", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "coproduct" }, "sortText": "Z.coproduct", "additionalTextEdits": null, "filterText": null, "insertText": "coproduct", "kind": 12, "label": "coproduct" }, { "detail": "∀ a. Coproduct1 a ~> a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Coproduct.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "coproduct1", "Data.Functor.Coproduct.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "coproduct1" }, "sortText": "Z.coproduct1", "additionalTextEdits": null, "filterText": null, "insertText": "coproduct1", "kind": 12, "label": "coproduct1" }, { "detail": "∀ r x a b. (a x → r) → (b x → r) → Coproduct2 a b x → r", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Coproduct.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "coproduct2", "Data.Functor.Coproduct.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "coproduct2" }, "sortText": "Z.coproduct2", "additionalTextEdits": null, "filterText": null, "insertText": "coproduct2", "kind": 12, "label": "coproduct2" }, { "detail": "∀ r x a b c. (a x → r) → (b x → r) → (c x → r) → Coproduct3 a b c x → r", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Coproduct.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "coproduct3", "Data.Functor.Coproduct.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "coproduct3" }, "sortText": "Z.coproduct3", "additionalTextEdits": null, "filterText": null, "insertText": "coproduct3", "kind": 12, "label": "coproduct3" }, { "detail": "∀ r x a b c d. (a x → r) → (b x → r) → (c x → r) → (d x → r) → Coproduct4 a b c d x → r", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Coproduct.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "coproduct4", "Data.Functor.Coproduct.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "coproduct4" }, "sortText": "Z.coproduct4", "additionalTextEdits": null, "filterText": null, "insertText": "coproduct4", "kind": 12, "label": "coproduct4" }, { "detail": "∀ r x a b c d e. (a x → r) → (b x → r) → (c x → r) → (d x → r) → (e x → r) → Coproduct5 a b c d e x → r", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Coproduct.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "coproduct5", "Data.Functor.Coproduct.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "coproduct5" }, "sortText": "Z.coproduct5", "additionalTextEdits": null, "filterText": null, "insertText": "coproduct5", "kind": 12, "label": "coproduct5" }, { "detail": "∀ r x a b c d e f. (a x → r) → (b x → r) → (c x → r) → (d x → r) → (e x → r) → (f x → r) → Coproduct6 a b c d e f x → r", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Coproduct.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "coproduct6", "Data.Functor.Coproduct.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "coproduct6" }, "sortText": "Z.coproduct6", "additionalTextEdits": null, "filterText": null, "insertText": "coproduct6", "kind": 12, "label": "coproduct6" }, { "detail": "∀ r x a b c d e f g. (a x → r) → (b x → r) → (c x → r) → (d x → r) → (e x → r) → (f x → r) → (g x → r) → Coproduct7 a b c d e f g x → r", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Coproduct.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "coproduct7", "Data.Functor.Coproduct.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "coproduct7" }, "sortText": "Z.coproduct7", "additionalTextEdits": null, "filterText": null, "insertText": "coproduct7", "kind": 12, "label": "coproduct7" }, { "detail": "∀ r x a b c d e f g h. (a x → r) → (b x → r) → (c x → r) → (d x → r) → (e x → r) → (f x → r) → (g x → r) → (h x → r) → Coproduct8 a b c d e f g h x → r", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Coproduct.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "coproduct8", "Data.Functor.Coproduct.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "coproduct8" }, "sortText": "Z.coproduct8", "additionalTextEdits": null, "filterText": null, "insertText": "coproduct8", "kind": 12, "label": "coproduct8" }, { "detail": "∀ r x a b c d e f g h i. (a x → r) → (b x → r) → (c x → r) → (d x → r) → (e x → r) → (f x → r) → (g x → r) → (h x → r) → (i x → r) → Coproduct9 a b c d e f g h i x → r", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Coproduct.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "coproduct9", "Data.Functor.Coproduct.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "coproduct9" }, "sortText": "Z.coproduct9", "additionalTextEdits": null, "filterText": null, "insertText": "coproduct9", "kind": 12, "label": "coproduct9" }, { "detail": "∀ r x a b c d e f g h i j. (a x → r) → (b x → r) → (c x → r) → (d x → r) → (e x → r) → (f x → r) → (g x → r) → (h x → r) → (i x → r) → (j x → r) → Coproduct10 a b c d e f g h i j x → r", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Coproduct.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "coproduct10", "Data.Functor.Coproduct.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "coproduct10" }, "sortText": "Z.coproduct10", "additionalTextEdits": null, "filterText": null, "insertText": "coproduct10", "kind": 12, "label": "coproduct10" }, { "detail": "∀ a. HeytingAlgebra a ⇒ a → a → a", "documentation": { "kind": "markdown", "value": "\n*From: Data.HeytingAlgebra*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "conj", "Data.HeytingAlgebra", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "conj" }, "sortText": "Z.conj", "additionalTextEdits": null, "filterText": null, "insertText": "conj", "kind": 12, "label": "conj" }, { "detail": "∀ subrow row rowlist. HeytingAlgebraRecord rowlist row subrow ⇒ RLProxy rowlist → Record row → Record row → Record subrow", "documentation": { "kind": "markdown", "value": "\n*From: Data.HeytingAlgebra*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "conjRecord", "Data.HeytingAlgebra", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "conjRecord" }, "sortText": "Z.conjRecord", "additionalTextEdits": null, "filterText": null, "insertText": "conjRecord", "kind": 12, "label": "conjRecord" }, { "detail": "Number → Int", "documentation": { "kind": "markdown", "value": "Convert a `Number` to an `Int`, by taking the closest integer equal to or\ngreater than the argument. Values outside the `Int` range are clamped,\n`NaN` and `Infinity` values return 0.\n\n*From: Data.Int*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "ceil", "Data.Int", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "ceil" }, "sortText": "Z.ceil", "additionalTextEdits": null, "filterText": null, "insertText": "ceil", "kind": 12, "label": "ceil" }, { "detail": "Int → Int", "documentation": { "kind": "markdown", "value": "Bitwise NOT.\n\n*From: Data.Int.Bits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "complement", "Data.Int.Bits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "complement" }, "sortText": "Z.complement", "additionalTextEdits": null, "filterText": null, "insertText": "complement", "kind": 12, "label": "complement" }, { "detail": "∀ a. List (List a) → List a", "documentation": { "kind": "markdown", "value": "Flatten a list of lists.\n\nRunning time: `O(n)`, where `n` is the total number of elements.\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "concat", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "concat" }, "sortText": "Z.concat", "additionalTextEdits": null, "filterText": null, "insertText": "concat", "kind": 12, "label": "concat" }, { "detail": "∀ a b. (a → List b) → List a → List b", "documentation": { "kind": "markdown", "value": "Apply a function to each element in a list, and flatten the results\ninto a single, new list.\n\nRunning time: `O(n)`, where `n` is the total number of elements.\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "concatMap", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "concatMap" }, "sortText": "Z.concatMap", "additionalTextEdits": null, "filterText": null, "insertText": "concatMap", "kind": 12, "label": "concatMap" }, { "detail": "∀ a. List (Maybe a) → List a", "documentation": { "kind": "markdown", "value": "Filter a list of optional values, keeping only the elements which contain\na value.\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "catMaybes", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "catMaybes" }, "sortText": "Z.catMaybes", "additionalTextEdits": null, "filterText": null, "insertText": "catMaybes", "kind": 12, "label": "catMaybes" }, { "detail": "∀ a. List a → List a", "documentation": { "kind": "markdown", "value": "Create a list by repeating another list\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "cycle", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "cycle" }, "sortText": "Z.cycle", "additionalTextEdits": null, "filterText": null, "insertText": "cycle", "kind": 12, "label": "cycle" }, { "detail": "∀ a. List (List a) → List a", "documentation": { "kind": "markdown", "value": "Flatten a list of lists.\n\nRunning time: `O(n)`, where `n` is the total number of elements.\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "concat", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "concat" }, "sortText": "Z.concat", "additionalTextEdits": null, "filterText": null, "insertText": "concat", "kind": 12, "label": "concat" }, { "detail": "∀ a b. (a → List b) → List a → List b", "documentation": { "kind": "markdown", "value": "Apply a function to each element in a list, and flatten the results\ninto a single, new list.\n\nRunning time: `O(n)`, where `n` is the total number of elements.\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "concatMap", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "concatMap" }, "sortText": "Z.concatMap", "additionalTextEdits": null, "filterText": null, "insertText": "concatMap", "kind": 12, "label": "concatMap" }, { "detail": "∀ a. List (Maybe a) → List a", "documentation": { "kind": "markdown", "value": "Filter a list of optional values, keeping only the elements which contain\na value.\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "catMaybes", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "catMaybes" }, "sortText": "Z.catMaybes", "additionalTextEdits": null, "filterText": null, "insertText": "catMaybes", "kind": 12, "label": "catMaybes" }, { "detail": "∀ a. a → List a → List a", "documentation": { "kind": "markdown", "value": "Attach an element to the front of a lazy list.\n\nRunning time: `O(1)`\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "cons", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "cons" }, "sortText": "Z.cons", "additionalTextEdits": null, "filterText": null, "insertText": "cons", "kind": 12, "label": "cons" }, { "detail": "∀ a b. (a → NonEmptyList b) → NonEmptyList a → NonEmptyList b", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.Lazy.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "concatMap", "Data.List.Lazy.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "concatMap" }, "sortText": "Z.concatMap", "additionalTextEdits": null, "filterText": null, "insertText": "concatMap", "kind": 12, "label": "concatMap" }, { "detail": "∀ a. a → List a → List a", "documentation": { "kind": "markdown", "value": "Attach an element to the front of a lazy list.\n\nRunning time: `O(1)`\n\n*From: Data.List.Lazy.Types*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "cons", "Data.List.Lazy.Types", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "cons" }, "sortText": "Z.cons", "additionalTextEdits": null, "filterText": null, "insertText": "cons", "kind": 12, "label": "cons" }, { "detail": "∀ a. a → NonEmptyList a → NonEmptyList a", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "cons", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "cons" }, "sortText": "Z.cons", "additionalTextEdits": null, "filterText": null, "insertText": "cons", "kind": 12, "label": "cons" }, { "detail": "∀ a. a → List a → NonEmptyList a", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "cons'", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "cons'" }, "sortText": "Z.cons'", "additionalTextEdits": null, "filterText": null, "insertText": "cons'", "kind": 12, "label": "cons'" }, { "detail": "∀ a. NonEmptyList (NonEmptyList a) → NonEmptyList a", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "concat", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "concat" }, "sortText": "Z.concat", "additionalTextEdits": null, "filterText": null, "insertText": "concat", "kind": 12, "label": "concat" }, { "detail": "∀ a b. (a → NonEmptyList b) → NonEmptyList a → NonEmptyList b", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "concatMap", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "concatMap" }, "sortText": "Z.concatMap", "additionalTextEdits": null, "filterText": null, "insertText": "concatMap", "kind": 12, "label": "concatMap" }, { "detail": "∀ a. NonEmptyList (Maybe a) → List a", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "catMaybes", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "catMaybes" }, "sortText": "Z.catMaybes", "additionalTextEdits": null, "filterText": null, "insertText": "catMaybes", "kind": 12, "label": "catMaybes" }, { "detail": "∀ k v. Map k v → Boolean", "documentation": { "kind": "markdown", "value": "Check whether the underlying tree satisfies the 2-3 invariant\n\nThis function is provided for internal use.\n\n*From: Data.Map*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "checkValid", "Data.Map", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "checkValid" }, "sortText": "Z.checkValid", "additionalTextEdits": null, "filterText": null, "insertText": "checkValid", "kind": 12, "label": "checkValid" }, { "detail": "∀ k v. Map k v → Boolean", "documentation": { "kind": "markdown", "value": "Check whether the underlying tree satisfies the 2-3 invariant\n\nThis function is provided for internal use.\n\n*From: Data.Map.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "checkValid", "Data.Map.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "checkValid" }, "sortText": "Z.checkValid", "additionalTextEdits": null, "filterText": null, "insertText": "checkValid", "kind": 12, "label": "checkValid" }, { "detail": "∀ f t a. Functor f ⇒ Newtype t a ⇒ (a → t) → (f a → a) → f t → t", "documentation": { "kind": "markdown", "value": "Similar to the function from the `Distributive` class, but operating within\na newtype instead.\n\n*From: Data.Newtype*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "collect", "Data.Newtype", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "collect" }, "sortText": "Z.collect", "additionalTextEdits": null, "filterText": null, "insertText": "collect", "kind": 12, "label": "collect" }, { "detail": "∀ a. Ord a ⇒ a → a → Ordering", "documentation": { "kind": "markdown", "value": "\n*From: Data.Ord*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "compare", "Data.Ord", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "compare" }, "sortText": "Z.compare", "additionalTextEdits": null, "filterText": null, "insertText": "compare", "kind": 12, "label": "compare" }, { "detail": "∀ a f. Ord1 f ⇒ Ord a ⇒ f a → f a → Ordering", "documentation": { "kind": "markdown", "value": "\n*From: Data.Ord*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "compare1", "Data.Ord", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "compare1" }, "sortText": "Z.compare1", "additionalTextEdits": null, "filterText": null, "insertText": "compare1", "kind": 12, "label": "compare1" }, { "detail": "∀ a b. Ord b ⇒ (a → b) → (a → a → Ordering)", "documentation": { "kind": "markdown", "value": "Compares two values by mapping them to a type with an `Ord` instance.\n\n*From: Data.Ord*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "comparing", "Data.Ord", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "comparing" }, "sortText": "Z.comparing", "additionalTextEdits": null, "filterText": null, "insertText": "comparing", "kind": 12, "label": "comparing" }, { "detail": "∀ a. Ord a ⇒ a → a → a → a", "documentation": { "kind": "markdown", "value": "Clamp a value between a minimum and a maximum. For example:\n\n``` purescript\nlet f = clamp 0 10\nf (-5) == 0\nf 5 == 5\nf 15 == 10\n```\n\n*From: Data.Ord*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "clamp", "Data.Ord", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "clamp" }, "sortText": "Z.clamp", "additionalTextEdits": null, "filterText": null, "insertText": "clamp", "kind": 12, "label": "clamp" }, { "detail": "∀ row rowlist. OrdRecord rowlist row ⇒ RLProxy rowlist → Record row → Record row → Ordering", "documentation": { "kind": "markdown", "value": "\n*From: Data.Ord*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "compareRecord", "Data.Ord", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "compareRecord" }, "sortText": "Z.compareRecord", "additionalTextEdits": null, "filterText": null, "insertText": "compareRecord", "kind": 12, "label": "compareRecord" }, { "detail": "∀ a. Set a → Boolean", "documentation": { "kind": "markdown", "value": "Check whether the underlying tree satisfies the 2-3 invariant\n\nThis function is provided for internal use.\n\n*From: Data.Set*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "checkValid", "Data.Set", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "checkValid" }, "sortText": "Z.checkValid", "additionalTextEdits": null, "filterText": null, "insertText": "checkValid", "kind": 12, "label": "checkValid" }, { "detail": "∀ a. Ord a ⇒ a → Set a → NonEmptySet a", "documentation": { "kind": "markdown", "value": "Creates a `NonEmptySet` from an item and a `Set`.\n\n*From: Data.Set.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "cons", "Data.Set.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "cons" }, "sortText": "Z.cons", "additionalTextEdits": null, "filterText": null, "insertText": "cons", "kind": 12, "label": "cons" }, { "detail": "Int → String → Maybe CodePoint", "documentation": { "kind": "markdown", "value": "Returns the first code point of the string after dropping the given number\nof code points from the beginning, if there is such a code point. Operates\nin constant space and in time linear to the given index.\n\n```purescript\n>>> codePointAt 1 \"𝐀𝐀𝐀𝐀\"\nJust (CodePoint 0x1D400) -- represents \"𝐀\"\n-- compare to Data.String:\n>>> charAt 1 \"𝐀𝐀𝐀𝐀\"\nJust '�'\n```\n\n\n*From: Data.String*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "codePointAt", "Data.String", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "codePointAt" }, "sortText": "Z.codePointAt", "additionalTextEdits": null, "filterText": null, "insertText": "codePointAt", "kind": 12, "label": "codePointAt" }, { "detail": "Char → CodePoint", "documentation": { "kind": "markdown", "value": "Creates a CodePoint from a given Char.\n\n```purescript\n>>> codePointFromChar 'B'\nCodePoint 0x42 -- represents 'B'\n```\n\n\n*From: Data.String*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "codePointFromChar", "Data.String", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "codePointFromChar" }, "sortText": "Z.codePointFromChar", "additionalTextEdits": null, "filterText": null, "insertText": "codePointFromChar", "kind": 12, "label": "codePointFromChar" }, { "detail": "Pattern → String → Boolean", "documentation": { "kind": "markdown", "value": "Checks whether the pattern appears in the given string.\n\n```purescript\ncontains (Pattern \"needle\") \"haystack with needle\" == true\ncontains (Pattern \"needle\") \"haystack\" == false\n```\n\n*From: Data.String*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "contains", "Data.String", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "contains" }, "sortText": "Z.contains", "additionalTextEdits": null, "filterText": null, "insertText": "contains", "kind": 12, "label": "contains" }, { "detail": "(CodePoint → Boolean) → String → Int", "documentation": { "kind": "markdown", "value": "Returns the number of code points in the leading sequence of code points\nwhich all match the given predicate. Operates in constant space and in\ntime linear to the length of the string.\n\n```purescript\n>>> countPrefix (\\c -> codePointToInt c == 0x1D400) \"𝐀𝐀 b c 𝐀\"\n2\n```\n\n\n*From: Data.String*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "countPrefix", "Data.String", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "countPrefix" }, "sortText": "Z.countPrefix", "additionalTextEdits": null, "filterText": null, "insertText": "countPrefix", "kind": 12, "label": "countPrefix" }, { "detail": "Char → CodePoint", "documentation": { "kind": "markdown", "value": "Creates a CodePoint from a given Char.\n\n```purescript\n>>> codePointFromChar 'B'\nCodePoint 0x42 -- represents 'B'\n```\n\n\n*From: Data.String.CodePoints*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "codePointFromChar", "Data.String.CodePoints", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "codePointFromChar" }, "sortText": "Z.codePointFromChar", "additionalTextEdits": null, "filterText": null, "insertText": "codePointFromChar", "kind": 12, "label": "codePointFromChar" }, { "detail": "Int → String → Maybe CodePoint", "documentation": { "kind": "markdown", "value": "Returns the first code point of the string after dropping the given number\nof code points from the beginning, if there is such a code point. Operates\nin constant space and in time linear to the given index.\n\n```purescript\n>>> codePointAt 1 \"𝐀𝐀𝐀𝐀\"\nJust (CodePoint 0x1D400) -- represents \"𝐀\"\n-- compare to Data.String:\n>>> charAt 1 \"𝐀𝐀𝐀𝐀\"\nJust '�'\n```\n\n\n*From: Data.String.CodePoints*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "codePointAt", "Data.String.CodePoints", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "codePointAt" }, "sortText": "Z.codePointAt", "additionalTextEdits": null, "filterText": null, "insertText": "codePointAt", "kind": 12, "label": "codePointAt" }, { "detail": "(CodePoint → Boolean) → String → Int", "documentation": { "kind": "markdown", "value": "Returns the number of code points in the leading sequence of code points\nwhich all match the given predicate. Operates in constant space and in\ntime linear to the length of the string.\n\n```purescript\n>>> countPrefix (\\c -> codePointToInt c == 0x1D400) \"𝐀𝐀 b c 𝐀\"\n2\n```\n\n\n*From: Data.String.CodePoints*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "countPrefix", "Data.String.CodePoints", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "countPrefix" }, "sortText": "Z.countPrefix", "additionalTextEdits": null, "filterText": null, "insertText": "countPrefix", "kind": 12, "label": "countPrefix" }, { "detail": "Pattern → String → Boolean", "documentation": { "kind": "markdown", "value": "Checks whether the pattern appears in the given string.\n\n```purescript\ncontains (Pattern \"needle\") \"haystack with needle\" == true\ncontains (Pattern \"needle\") \"haystack\" == false\n```\n\n*From: Data.String.CodePoints*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "contains", "Data.String.CodePoints", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "contains" }, "sortText": "Z.contains", "additionalTextEdits": null, "filterText": null, "insertText": "contains", "kind": 12, "label": "contains" }, { "detail": "Pattern → String → Boolean", "documentation": { "kind": "markdown", "value": "Checks whether the pattern appears in the given string.\n\n```purescript\ncontains (Pattern \"needle\") \"haystack with needle\" == true\ncontains (Pattern \"needle\") \"haystack\" == false\n```\n\n*From: Data.String.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "contains", "Data.String.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "contains" }, "sortText": "Z.contains", "additionalTextEdits": null, "filterText": null, "insertText": "contains", "kind": 12, "label": "contains" }, { "detail": "Int → String → Maybe Char", "documentation": { "kind": "markdown", "value": "Returns the character at the given index, if the index is within bounds.\n\n```purescript\ncharAt 2 \"Hello\" == Just 'l'\ncharAt 10 \"Hello\" == Nothing\n```\n\n\n*From: Data.String.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "charAt", "Data.String.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "charAt" }, "sortText": "Z.charAt", "additionalTextEdits": null, "filterText": null, "insertText": "charAt", "kind": 12, "label": "charAt" }, { "detail": "(Char → Boolean) → String → Int", "documentation": { "kind": "markdown", "value": "Returns the number of contiguous characters at the beginning\nof the string for which the predicate holds.\n\n```purescript\ncountPrefix (_ /= ' ') \"Hello World\" == 5 -- since length \"Hello\" == 5\n```\n\n\n*From: Data.String.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "countPrefix", "Data.String.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "countPrefix" }, "sortText": "Z.countPrefix", "additionalTextEdits": null, "filterText": null, "insertText": "countPrefix", "kind": 12, "label": "countPrefix" }, { "detail": "Int → NonEmptyString → Maybe CodePoint", "documentation": { "kind": "markdown", "value": "\n*From: Data.String.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "codePointAt", "Data.String.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "codePointAt" }, "sortText": "Z.codePointAt", "additionalTextEdits": null, "filterText": null, "insertText": "codePointAt", "kind": 12, "label": "codePointAt" }, { "detail": "CodePoint → String → NonEmptyString", "documentation": { "kind": "markdown", "value": "\n*From: Data.String.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "cons", "Data.String.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "cons" }, "sortText": "Z.cons", "additionalTextEdits": null, "filterText": null, "insertText": "cons", "kind": 12, "label": "cons" }, { "detail": "Pattern → NonEmptyString → Boolean", "documentation": { "kind": "markdown", "value": "Checks whether the pattern appears in the given string.\n\n```purescript\ncontains (Pattern \"needle\") (NonEmptyString \"haystack with needle\") == true\ncontains (Pattern \"needle\") (NonEmptyString \"haystack\") == false\n```\n\n*From: Data.String.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "contains", "Data.String.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "contains" }, "sortText": "Z.contains", "additionalTextEdits": null, "filterText": null, "insertText": "contains", "kind": 12, "label": "contains" }, { "detail": "(CodePoint → Boolean) → NonEmptyString → Int", "documentation": { "kind": "markdown", "value": "\n*From: Data.String.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "countPrefix", "Data.String.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "countPrefix" }, "sortText": "Z.countPrefix", "additionalTextEdits": null, "filterText": null, "insertText": "countPrefix", "kind": 12, "label": "countPrefix" }, { "detail": "CodePoint → String → NonEmptyString", "documentation": { "kind": "markdown", "value": "\n*From: Data.String.NonEmpty.CodePoints*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "cons", "Data.String.NonEmpty.CodePoints", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "cons" }, "sortText": "Z.cons", "additionalTextEdits": null, "filterText": null, "insertText": "cons", "kind": 12, "label": "cons" }, { "detail": "Int → NonEmptyString → Maybe CodePoint", "documentation": { "kind": "markdown", "value": "\n*From: Data.String.NonEmpty.CodePoints*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "codePointAt", "Data.String.NonEmpty.CodePoints", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "codePointAt" }, "sortText": "Z.codePointAt", "additionalTextEdits": null, "filterText": null, "insertText": "codePointAt", "kind": 12, "label": "codePointAt" }, { "detail": "(CodePoint → Boolean) → NonEmptyString → Int", "documentation": { "kind": "markdown", "value": "\n*From: Data.String.NonEmpty.CodePoints*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "countPrefix", "Data.String.NonEmpty.CodePoints", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "countPrefix" }, "sortText": "Z.countPrefix", "additionalTextEdits": null, "filterText": null, "insertText": "countPrefix", "kind": 12, "label": "countPrefix" }, { "detail": "Char → String → NonEmptyString", "documentation": { "kind": "markdown", "value": "Creates a `NonEmptyString` from a string by prepending a character.\n\n```purescript\ncons 'a' \"bc\" = NonEmptyString \"abc\"\ncons 'a' \"\" = NonEmptyString \"a\"\n```\n\n*From: Data.String.NonEmpty.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "cons", "Data.String.NonEmpty.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "cons" }, "sortText": "Z.cons", "additionalTextEdits": null, "filterText": null, "insertText": "cons", "kind": 12, "label": "cons" }, { "detail": "Int → NonEmptyString → Maybe Char", "documentation": { "kind": "markdown", "value": "Returns the character at the given index, if the index is within bounds.\n\n```purescript\ncharAt 2 (NonEmptyString \"Hello\") == Just 'l'\ncharAt 10 (NonEmptyString \"Hello\") == Nothing\n```\n\n*From: Data.String.NonEmpty.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "charAt", "Data.String.NonEmpty.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "charAt" }, "sortText": "Z.charAt", "additionalTextEdits": null, "filterText": null, "insertText": "charAt", "kind": 12, "label": "charAt" }, { "detail": "(Char → Boolean) → NonEmptyString → Int", "documentation": { "kind": "markdown", "value": "Returns the number of contiguous characters at the beginning of the string\nfor which the predicate holds.\n\n```purescript\ncountPrefix (_ /= 'o') (NonEmptyString \"Hello World\") == 4\n```\n\n*From: Data.String.NonEmpty.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "countPrefix", "Data.String.NonEmpty.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "countPrefix" }, "sortText": "Z.countPrefix", "additionalTextEdits": null, "filterText": null, "insertText": "countPrefix", "kind": 12, "label": "countPrefix" }, { "detail": "Pattern → NonEmptyString → Boolean", "documentation": { "kind": "markdown", "value": "Checks whether the pattern appears in the given string.\n\n```purescript\ncontains (Pattern \"needle\") (NonEmptyString \"haystack with needle\") == true\ncontains (Pattern \"needle\") (NonEmptyString \"haystack\") == false\n```\n\n*From: Data.String.NonEmpty.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "contains", "Data.String.NonEmpty.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "contains" }, "sortText": "Z.contains", "additionalTextEdits": null, "filterText": null, "insertText": "contains", "kind": 12, "label": "contains" }, { "detail": "String → Char", "documentation": { "kind": "markdown", "value": "Converts a string of length `1` to a character.\n\n**Unsafe:** throws runtime exception if length is not `1`.\n\n*From: Data.String.Unsafe*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "char", "Data.String.Unsafe", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "char" }, "sortText": "Z.char", "additionalTextEdits": null, "filterText": null, "insertText": "char", "kind": 12, "label": "char" }, { "detail": "Int → String → Char", "documentation": { "kind": "markdown", "value": "Returns the character at the given index.\n\n**Unsafe:** throws runtime exception if the index is out of bounds.\n\n*From: Data.String.Unsafe*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "charAt", "Data.String.Unsafe", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "charAt" }, "sortText": "Z.charAt", "additionalTextEdits": null, "filterText": null, "insertText": "charAt", "kind": 12, "label": "charAt" }, { "detail": "∀ a b. Duration a ⇒ Duration b ⇒ a → b", "documentation": { "kind": "markdown", "value": "Converts directly between durations of differing types.\n\n*From: Data.Time.Duration*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "convertDuration", "Data.Time.Duration", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "convertDuration" }, "sortText": "Z.convertDuration", "additionalTextEdits": null, "filterText": null, "insertText": "convertDuration", "kind": 12, "label": "convertDuration" }, { "detail": "∀ a b c. (Tuple a b → c) → a → b → c", "documentation": { "kind": "markdown", "value": "Turn a function that expects a tuple into a function of two arguments.\n\n*From: Data.Tuple*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "curry", "Data.Tuple", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "curry" }, "sortText": "Z.curry", "additionalTextEdits": null, "filterText": null, "insertText": "curry", "kind": 12, "label": "curry" }, { "detail": "∀ a r z. z → (T2 a z → r) → a → r", "documentation": { "kind": "markdown", "value": "Given a function that accepts at least a singleton tuple, returns a function of 1 argument.\n\n*From: Data.Tuple.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "curry1", "Data.Tuple.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "curry1" }, "sortText": "Z.curry1", "additionalTextEdits": null, "filterText": null, "insertText": "curry1", "kind": 12, "label": "curry1" }, { "detail": "∀ a b r z. z → (T3 a b z → r) → a → b → r", "documentation": { "kind": "markdown", "value": "Given a function that accepts at least a 2-tuple, returns a function of 2 arguments.\n\n*From: Data.Tuple.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "curry2", "Data.Tuple.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "curry2" }, "sortText": "Z.curry2", "additionalTextEdits": null, "filterText": null, "insertText": "curry2", "kind": 12, "label": "curry2" }, { "detail": "∀ a b c r z. z → (T4 a b c z → r) → a → b → c → r", "documentation": { "kind": "markdown", "value": "Given a function that accepts at least a 3-tuple, returns a function of 3 arguments.\n\n*From: Data.Tuple.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "curry3", "Data.Tuple.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "curry3" }, "sortText": "Z.curry3", "additionalTextEdits": null, "filterText": null, "insertText": "curry3", "kind": 12, "label": "curry3" }, { "detail": "∀ a b c d r z. z → (T5 a b c d z → r) → a → b → c → d → r", "documentation": { "kind": "markdown", "value": "Given a function that accepts at least a 4-tuple, returns a function of 4 arguments.\n\n*From: Data.Tuple.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "curry4", "Data.Tuple.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "curry4" }, "sortText": "Z.curry4", "additionalTextEdits": null, "filterText": null, "insertText": "curry4", "kind": 12, "label": "curry4" }, { "detail": "∀ a b c d e r z. z → (T6 a b c d e z → r) → a → b → c → d → e → r", "documentation": { "kind": "markdown", "value": "Given a function that accepts at least a 5-tuple, returns a function of 5 arguments.\n\n*From: Data.Tuple.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "curry5", "Data.Tuple.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "curry5" }, "sortText": "Z.curry5", "additionalTextEdits": null, "filterText": null, "insertText": "curry5", "kind": 12, "label": "curry5" }, { "detail": "∀ a b c d e f r z. z → (T7 a b c d e f z → r) → a → b → c → d → e → f → r", "documentation": { "kind": "markdown", "value": "Given a function that accepts at least a 6-tuple, returns a function of 6 arguments.\n\n*From: Data.Tuple.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "curry6", "Data.Tuple.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "curry6" }, "sortText": "Z.curry6", "additionalTextEdits": null, "filterText": null, "insertText": "curry6", "kind": 12, "label": "curry6" }, { "detail": "∀ a b c d e f g r z. z → (T8 a b c d e f g z → r) → a → b → c → d → e → f → g → r", "documentation": { "kind": "markdown", "value": "Given a function that accepts at least a 7-tuple, returns a function of 7 arguments.\n\n*From: Data.Tuple.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "curry7", "Data.Tuple.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "curry7" }, "sortText": "Z.curry7", "additionalTextEdits": null, "filterText": null, "insertText": "curry7", "kind": 12, "label": "curry7" }, { "detail": "∀ a b c d e f g h r z. z → (T9 a b c d e f g h z → r) → a → b → c → d → e → f → g → h → r", "documentation": { "kind": "markdown", "value": "Given a function that accepts at least an 8-tuple, returns a function of 8 arguments.\n\n*From: Data.Tuple.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "curry8", "Data.Tuple.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "curry8" }, "sortText": "Z.curry8", "additionalTextEdits": null, "filterText": null, "insertText": "curry8", "kind": 12, "label": "curry8" }, { "detail": "∀ a b c d e f g h i r z. z → (T10 a b c d e f g h i z → r) → a → b → c → d → e → f → g → h → i → r", "documentation": { "kind": "markdown", "value": "Given a function that accepts at least a 9-tuple, returns a function of 9 arguments.\n\n*From: Data.Tuple.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "curry9", "Data.Tuple.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "curry9" }, "sortText": "Z.curry9", "additionalTextEdits": null, "filterText": null, "insertText": "curry9", "kind": 12, "label": "curry9" }, { "detail": "∀ a b c d e f g h i j r z. z → (T11 a b c d e f g h i j z → r) → a → b → c → d → e → f → g → h → i → j → r", "documentation": { "kind": "markdown", "value": "Given a function that accepts at least a 10-tuple, returns a function of 10 arguments.\n\n*From: Data.Tuple.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "curry10", "Data.Tuple.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "curry10" }, "sortText": "Z.curry10", "additionalTextEdits": null, "filterText": null, "insertText": "curry10", "kind": 12, "label": "curry10" }, { "detail": "∀ a. Aff a → Canceler → Aff a", "documentation": { "kind": "markdown", "value": "Attaches a custom `Canceler` to an action. If the computation is canceled,\nthen the custom `Canceler` will be run afterwards.\n\n*From: Effect.Aff*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "cancelWith", "Effect.Aff", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "cancelWith" }, "sortText": "Z.cancelWith", "additionalTextEdits": null, "filterText": null, "insertText": "cancelWith", "kind": 12, "label": "cancelWith" }, { "detail": "∀ a m e. MonadError e m ⇒ m a → (e → m a) → m a", "documentation": { "kind": "markdown", "value": "\n*From: Effect.Aff*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "catchError", "Effect.Aff", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "catchError" }, "sortText": "Z.catchError", "additionalTextEdits": null, "filterText": null, "insertText": "catchError", "kind": 12, "label": "catchError" }, { "detail": "∀ m. MonadEffect m ⇒ m Unit", "documentation": { "kind": "markdown", "value": "\n*From: Effect.Class.Console*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "clear", "Effect.Class.Console", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "clear" }, "sortText": "Z.clear", "additionalTextEdits": null, "filterText": null, "insertText": "clear", "kind": 12, "label": "clear" }, { "detail": "Effect Unit", "documentation": { "kind": "markdown", "value": "Clears the console\n\n*From: Effect.Console*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "clear", "Effect.Console", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "clear" }, "sortText": "Z.clear", "additionalTextEdits": null, "filterText": null, "insertText": "clear", "kind": 12, "label": "clear" }, { "detail": "∀ a. (Error → Effect a) → Effect a → Effect a", "documentation": { "kind": "markdown", "value": "Catch an exception by providing an exception handler.\n\nFor example:\n\n```purescript\nmain = catchException print do\n Console.log \"Exceptions thrown in this block will be logged to the console\"\n```\n\n*From: Effect.Exception*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "catchException", "Effect.Exception", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "catchException" }, "sortText": "Z.catchException", "additionalTextEdits": null, "filterText": null, "insertText": "catchException", "kind": 12, "label": "catchException" }, { "detail": "Number → Number", "documentation": { "kind": "markdown", "value": "Returns the smallest integer not smaller than the argument.\n\n*From: Math*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "ceil", "Math", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "ceil" }, "sortText": "Z.ceil", "additionalTextEdits": null, "filterText": null, "insertText": "ceil", "kind": 12, "label": "ceil" }, { "detail": "Radians → Number", "documentation": { "kind": "markdown", "value": "Returns the cosine of the argument.\n\n*From: Math*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "cos", "Math", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "cos" }, "sortText": "Z.cos", "additionalTextEdits": null, "filterText": null, "insertText": "cos", "kind": 12, "label": "cos" }, { "detail": "∀ m buf. MutableBuffer buf m ⇒ Array buf → m buf", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "concat", "Node.Buffer", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "concat" }, "sortText": "Z.concat", "additionalTextEdits": null, "filterText": null, "insertText": "concat", "kind": 12, "label": "concat" }, { "detail": "∀ m buf. MutableBuffer buf m ⇒ Array buf → Int → m buf", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "concat'", "Node.Buffer", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "concat'" }, "sortText": "Z.concat'", "additionalTextEdits": null, "filterText": null, "insertText": "concat'", "kind": 12, "label": "concat'" }, { "detail": "∀ m buf. MutableBuffer buf m ⇒ Int → Int → buf → Int → buf → m Int", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "copy", "Node.Buffer", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "copy" }, "sortText": "Z.copy", "additionalTextEdits": null, "filterText": null, "insertText": "copy", "kind": 12, "label": "copy" }, { "detail": "∀ m buf. MutableBuffer buf m ⇒ Int → m buf", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "create", "Node.Buffer", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "create" }, "sortText": "Z.create", "additionalTextEdits": null, "filterText": null, "insertText": "create", "kind": 12, "label": "create" }, { "detail": "∀ m buf. MutableBuffer buf m ⇒ Int → m buf", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer.Class*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "create", "Node.Buffer.Class", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "create" }, "sortText": "Z.create", "additionalTextEdits": null, "filterText": null, "insertText": "create", "kind": 12, "label": "create" }, { "detail": "∀ m buf. MutableBuffer buf m ⇒ Array buf → m buf", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer.Class*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "concat", "Node.Buffer.Class", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "concat" }, "sortText": "Z.concat", "additionalTextEdits": null, "filterText": null, "insertText": "concat", "kind": 12, "label": "concat" }, { "detail": "∀ m buf. MutableBuffer buf m ⇒ Array buf → Int → m buf", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer.Class*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "concat'", "Node.Buffer.Class", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "concat'" }, "sortText": "Z.concat'", "additionalTextEdits": null, "filterText": null, "insertText": "concat'", "kind": 12, "label": "concat'" }, { "detail": "∀ m buf. MutableBuffer buf m ⇒ Int → Int → buf → Int → buf → m Int", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer.Class*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "copy", "Node.Buffer.Class", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "copy" }, "sortText": "Z.copy", "additionalTextEdits": null, "filterText": null, "insertText": "copy", "kind": 12, "label": "copy" }, { "detail": "Int → ImmutableBuffer", "documentation": { "kind": "markdown", "value": "Creates a new buffer of the specified size.\n\n*From: Node.Buffer.Immutable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "create", "Node.Buffer.Immutable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "create" }, "sortText": "Z.create", "additionalTextEdits": null, "filterText": null, "insertText": "create", "kind": 12, "label": "create" }, { "detail": "Array ImmutableBuffer → ImmutableBuffer", "documentation": { "kind": "markdown", "value": "Concatenates a list of buffers.\n\n*From: Node.Buffer.Immutable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "concat", "Node.Buffer.Immutable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "concat" }, "sortText": "Z.concat", "additionalTextEdits": null, "filterText": null, "insertText": "concat", "kind": 12, "label": "concat" }, { "detail": "Array ImmutableBuffer → Int → ImmutableBuffer", "documentation": { "kind": "markdown", "value": "Concatenates a list of buffers, combining them into a new buffer of the\nspecified length.\n\n*From: Node.Buffer.Immutable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "concat'", "Node.Buffer.Immutable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "concat'" }, "sortText": "Z.concat'", "additionalTextEdits": null, "filterText": null, "insertText": "concat'", "kind": 12, "label": "concat'" }, { "detail": "∀ buf m. Monad m ⇒ Int → m buf", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "create", "Node.Buffer.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "create" }, "sortText": "Z.create", "additionalTextEdits": null, "filterText": null, "insertText": "create", "kind": 12, "label": "create" }, { "detail": "∀ a buf m. a → m buf", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "copyAll", "Node.Buffer.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "copyAll" }, "sortText": "Z.copyAll", "additionalTextEdits": null, "filterText": null, "insertText": "copyAll", "kind": 12, "label": "copyAll" }, { "detail": "∀ buf m. Array buf → m buf", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "concat", "Node.Buffer.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "concat" }, "sortText": "Z.concat", "additionalTextEdits": null, "filterText": null, "insertText": "concat", "kind": 12, "label": "concat" }, { "detail": "∀ buf m. Monad m ⇒ Array buf → Int → m buf", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "concat'", "Node.Buffer.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "concat'" }, "sortText": "Z.concat'", "additionalTextEdits": null, "filterText": null, "insertText": "concat'", "kind": 12, "label": "concat'" }, { "detail": "∀ buf m. Offset → Offset → buf → Offset → buf → m Int", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "copy", "Node.Buffer.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "copy" }, "sortText": "Z.copy", "additionalTextEdits": null, "filterText": null, "insertText": "copy", "kind": 12, "label": "copy" }, { "detail": "FilePath → Int → Int → Callback Unit → Effect Unit", "documentation": { "kind": "markdown", "value": "Changes the ownership of a file.\n\n*From: Node.FS.Async*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "chown", "Node.FS.Async", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "chown" }, "sortText": "Z.chown", "additionalTextEdits": null, "filterText": null, "insertText": "chown", "kind": 12, "label": "chown" }, { "detail": "FilePath → Perms → Callback Unit → Effect Unit", "documentation": { "kind": "markdown", "value": "Changes the permissions of a file.\n\n*From: Node.FS.Async*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "chmod", "Node.FS.Async", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "chmod" }, "sortText": "Z.chmod", "additionalTextEdits": null, "filterText": null, "insertText": "chmod", "kind": 12, "label": "chmod" }, { "detail": "FilePath → Effect (Writable ())", "documentation": { "kind": "markdown", "value": "Create a Writable stream which writes data to the specified file, using\nthe default options.\n\n*From: Node.FS.Stream*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "createWriteStream", "Node.FS.Stream", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "createWriteStream" }, "sortText": "Z.createWriteStream", "additionalTextEdits": null, "filterText": null, "insertText": "createWriteStream", "kind": 12, "label": "createWriteStream" }, { "detail": "WriteStreamOptions → FilePath → Effect (Writable ())", "documentation": { "kind": "markdown", "value": "Like `createWriteStream`, but allows you to pass options.\n\n*From: Node.FS.Stream*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "createWriteStreamWith", "Node.FS.Stream", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "createWriteStreamWith" }, "sortText": "Z.createWriteStreamWith", "additionalTextEdits": null, "filterText": null, "insertText": "createWriteStreamWith", "kind": 12, "label": "createWriteStreamWith" }, { "detail": "FilePath → Effect (Readable ())", "documentation": { "kind": "markdown", "value": "Create a Readable stream which reads data to the specified file, using\nthe default options.\n\n*From: Node.FS.Stream*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "createReadStream", "Node.FS.Stream", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "createReadStream" }, "sortText": "Z.createReadStream", "additionalTextEdits": null, "filterText": null, "insertText": "createReadStream", "kind": 12, "label": "createReadStream" }, { "detail": "ReadStreamOptions → FilePath → Effect (Readable ())", "documentation": { "kind": "markdown", "value": "Create a Readable stream which reads data from the specified file.\n\n*From: Node.FS.Stream*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "createReadStreamWith", "Node.FS.Stream", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "createReadStreamWith" }, "sortText": "Z.createReadStreamWith", "additionalTextEdits": null, "filterText": null, "insertText": "createReadStreamWith", "kind": 12, "label": "createReadStreamWith" }, { "detail": "FilePath → Int → Int → Effect Unit", "documentation": { "kind": "markdown", "value": "Changes the ownership of a file.\n\n*From: Node.FS.Sync*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "chown", "Node.FS.Sync", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "chown" }, "sortText": "Z.chown", "additionalTextEdits": null, "filterText": null, "insertText": "chown", "kind": 12, "label": "chown" }, { "detail": "FilePath → Perms → Effect Unit", "documentation": { "kind": "markdown", "value": "Changes the permissions of a file.\n\n*From: Node.FS.Sync*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "chmod", "Node.FS.Sync", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "chmod" }, "sortText": "Z.chmod", "additionalTextEdits": null, "filterText": null, "insertText": "chmod", "kind": 12, "label": "chmod" }, { "detail": "Array FilePath → FilePath", "documentation": { "kind": "markdown", "value": "Concatenates multiple path segments together and normalizes the resulting path.\n\n*From: Node.Path*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "concat", "Node.Path", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "concat" }, "sortText": "Z.concat", "additionalTextEdits": null, "filterText": null, "insertText": "concat", "kind": 12, "label": "concat" }, { "detail": "∀ r. Writable r → Effect Unit", "documentation": { "kind": "markdown", "value": "Force buffering of writes.\n\n*From: Node.Stream*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "cork", "Node.Stream", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "cork" }, "sortText": "Z.cork", "additionalTextEdits": null, "filterText": null, "insertText": "cork", "kind": 12, "label": "cork" }, { "detail": "∀ a. Partial ⇒ a", "documentation": { "kind": "markdown", "value": "A partial function which crashes on any input with a default message.\n\n*From: Partial*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "crash", "Partial", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "crash" }, "sortText": "Z.crash", "additionalTextEdits": null, "filterText": null, "insertText": "crash", "kind": 12, "label": "crash" }, { "detail": "∀ a. Partial ⇒ String → a", "documentation": { "kind": "markdown", "value": "A partial function which crashes on any input with the specified message.\n\n*From: Partial*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "crashWith", "Partial", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "crashWith" }, "sortText": "Z.crashWith", "additionalTextEdits": null, "filterText": null, "insertText": "crashWith", "kind": 12, "label": "crashWith" }, { "detail": "∀ a a' b b' c c' x x' m. Monad m ⇒ (a → Proxy x' x b' b m a') → (b → Proxy x' x c' c m b') → (a → Proxy x' x c' c m a')", "documentation": { "kind": "markdown", "value": "\n*From: Pipes*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "composeLoopBodies", "Pipes", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "composeLoopBodies" }, "sortText": "Z.composeLoopBodies", "additionalTextEdits": null, "filterText": null, "insertText": "composeLoopBodies", "kind": 12, "label": "composeLoopBodies" }, { "detail": "∀ a a' b b' c c' x x' m. Monad m ⇒ (b → Proxy x' x c' c m b') → (a → Proxy x' x b' b m a') → (a → Proxy x' x c' c m a')", "documentation": { "kind": "markdown", "value": "\n*From: Pipes*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "composeLoopBodies'", "Pipes", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "composeLoopBodies'" }, "sortText": "Z.composeLoopBodies'", "additionalTextEdits": null, "filterText": null, "insertText": "composeLoopBodies'", "kind": 12, "label": "composeLoopBodies'" }, { "detail": "∀ a m r. Monad m ⇒ Pipe a a m r", "documentation": { "kind": "markdown", "value": "\n*From: Pipes*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "cat", "Pipes", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "cat" }, "sortText": "Z.cat", "additionalTextEdits": null, "filterText": null, "insertText": "cat", "kind": 12, "label": "cat" }, { "detail": "∀ a a' b c c' m r. Monad m ⇒ Proxy a' a Unit b m r → Proxy Unit b c' c m r → Proxy a' a c' c m r", "documentation": { "kind": "markdown", "value": "\n*From: Pipes*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "composePipes", "Pipes", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "composePipes" }, "sortText": "Z.composePipes", "additionalTextEdits": null, "filterText": null, "insertText": "composePipes", "kind": 12, "label": "composePipes" }, { "detail": "∀ a a' b c c' m r. Monad m ⇒ Proxy Unit b c' c m r → Proxy a' a Unit b m r → Proxy a' a c' c m r", "documentation": { "kind": "markdown", "value": "\n*From: Pipes*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "composePipes'", "Pipes", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "composePipes'" }, "sortText": "Z.composePipes'", "additionalTextEdits": null, "filterText": null, "insertText": "composePipes'", "kind": 12, "label": "composePipes'" }, { "detail": "∀ m x x' a a' b b' c c'. Monad m ⇒ (a → Proxy x' x b' b m a') → (b → Proxy x' x c' c m b') → (a → Proxy x' x c' c m a')", "documentation": { "kind": "markdown", "value": "\n*From: Pipes.Core*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "composeResponse'", "Pipes.Core", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "composeResponse'" }, "sortText": "Z.composeResponse'", "additionalTextEdits": null, "filterText": null, "insertText": "composeResponse'", "kind": 12, "label": "composeResponse'" }, { "detail": "∀ m x x' a' b b' c c'. Monad m ⇒ Proxy x' x b' b m a' → (b → Proxy x' x c' c m b') → Proxy x' x c' c m a'", "documentation": { "kind": "markdown", "value": "\n*From: Pipes.Core*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "composeResponse", "Pipes.Core", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "composeResponse" }, "sortText": "Z.composeResponse", "additionalTextEdits": null, "filterText": null, "insertText": "composeResponse", "kind": 12, "label": "composeResponse" }, { "detail": "∀ a a' b b' c c' y y' m. Monad m ⇒ (b' → Proxy a' a y' y m b) → (c' → Proxy b' b y' y m c) → (c' → Proxy a' a y' y m c)", "documentation": { "kind": "markdown", "value": "\n*From: Pipes.Core*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "composeRequest'", "Pipes.Core", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "composeRequest'" }, "sortText": "Z.composeRequest'", "additionalTextEdits": null, "filterText": null, "insertText": "composeRequest'", "kind": 12, "label": "composeRequest'" }, { "detail": "∀ a a' b b' c y y' m. Monad m ⇒ (b' → Proxy a' a y' y m b) → Proxy b' b y' y m c → Proxy a' a y' y m c", "documentation": { "kind": "markdown", "value": "\n*From: Pipes.Core*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "composeRequest", "Pipes.Core", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "composeRequest" }, "sortText": "Z.composeRequest", "additionalTextEdits": null, "filterText": null, "insertText": "composeRequest", "kind": 12, "label": "composeRequest" }, { "detail": "∀ _a a a' b b' c c' m r. Monad m ⇒ (_a → Proxy a' a b' b m r) → (b → Proxy b' b c' c m r) → (_a → Proxy a' a c' c m r)", "documentation": { "kind": "markdown", "value": "\n*From: Pipes.Core*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "composePush", "Pipes.Core", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "composePush" }, "sortText": "Z.composePush", "additionalTextEdits": null, "filterText": null, "insertText": "composePush", "kind": 12, "label": "composePush" }, { "detail": "∀ a a' b b' c c' m r. Monad m ⇒ Proxy a' a b' b m r → (b → Proxy b' b c' c m r) → Proxy a' a c' c m r", "documentation": { "kind": "markdown", "value": "\n*From: Pipes.Core*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "composePush'", "Pipes.Core", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "composePush'" }, "sortText": "Z.composePush'", "additionalTextEdits": null, "filterText": null, "insertText": "composePush'", "kind": 12, "label": "composePush'" }, { "detail": "∀ a a' b b' c c' _c' m r. Monad m ⇒ (b' → Proxy a' a b' b m r) → (_c' → Proxy b' b c' c m r) → (_c' → Proxy a' a c' c m r)", "documentation": { "kind": "markdown", "value": "\n*From: Pipes.Core*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "composePull", "Pipes.Core", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "composePull" }, "sortText": "Z.composePull", "additionalTextEdits": null, "filterText": null, "insertText": "composePull", "kind": 12, "label": "composePull" }, { "detail": "∀ a a' b b' c c' m r. Monad m ⇒ (b' → Proxy a' a b' b m r) → Proxy b' b c' c m r → Proxy a' a c' c m r", "documentation": { "kind": "markdown", "value": "\n*From: Pipes.Core*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "composePull'", "Pipes.Core", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "composePull'" }, "sortText": "Z.composePull'", "additionalTextEdits": null, "filterText": null, "insertText": "composePull'", "kind": 12, "label": "composePull'" }, { "detail": "∀ a. X → a", "documentation": { "kind": "markdown", "value": "\n*From: Pipes.Core*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "closed", "Pipes.Core", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "closed" }, "sortText": "Z.closed", "additionalTextEdits": null, "filterText": null, "insertText": "closed", "kind": 12, "label": "closed" }, { "detail": "∀ a. X → a", "documentation": { "kind": "markdown", "value": "\n*From: Pipes.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "closed", "Pipes.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "closed" }, "sortText": "Z.closed", "additionalTextEdits": null, "filterText": null, "insertText": "closed", "kind": 12, "label": "closed" }, { "detail": "∀ a m f r. Monad m ⇒ Foldable f ⇒ Pipe (f a) a m r", "documentation": { "kind": "markdown", "value": "Flatten all 'Foldable' elements flowing downstream\n\n*From: Pipes.Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "concat", "Pipes.Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "concat" }, "sortText": "Z.concat", "additionalTextEdits": null, "filterText": null, "insertText": "concat", "kind": 12, "label": "concat" }, { "detail": "∀ a m r. Monad m ⇒ (a → m Unit) → Pipe a a m r", "documentation": { "kind": "markdown", "value": "Apply an action to all values flowing downstream\n\n*From: Pipes.Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "chain", "Pipes.Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "chain" }, "sortText": "Z.chain", "additionalTextEdits": null, "filterText": null, "insertText": "chain", "kind": 12, "label": "chain" }, { "detail": "∀ a. Ord a ⇒ a → a → a → a", "documentation": { "kind": "markdown", "value": "Clamp a value between a minimum and a maximum. For example:\n\n``` purescript\nlet f = clamp 0 10\nf (-5) == 0\nf 5 == 5\nf 15 == 10\n```\n\n*From: Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "clamp", "Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "clamp" }, "sortText": "Z.clamp", "additionalTextEdits": null, "filterText": null, "insertText": "clamp", "kind": 12, "label": "clamp" }, { "detail": "∀ a. Ord a ⇒ a → a → Ordering", "documentation": { "kind": "markdown", "value": "\n*From: Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "compare", "Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "compare" }, "sortText": "Z.compare", "additionalTextEdits": null, "filterText": null, "insertText": "compare", "kind": 12, "label": "compare" }, { "detail": "∀ a b. Ord b ⇒ (a → b) → (a → a → Ordering)", "documentation": { "kind": "markdown", "value": "Compares two values by mapping them to a type with an `Ord` instance.\n\n*From: Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "comparing", "Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "comparing" }, "sortText": "Z.comparing", "additionalTextEdits": null, "filterText": null, "insertText": "comparing", "kind": 12, "label": "comparing" }, { "detail": "∀ b c d a. Semigroupoid a ⇒ a c d → a b c → a b d", "documentation": { "kind": "markdown", "value": "\n*From: Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "compose", "Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "compose" }, "sortText": "Z.compose", "additionalTextEdits": null, "filterText": null, "insertText": "compose", "kind": 12, "label": "compose" }, { "detail": "∀ a. HeytingAlgebra a ⇒ a → a → a", "documentation": { "kind": "markdown", "value": "\n*From: Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "conj", "Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "conj" }, "sortText": "Z.conj", "additionalTextEdits": null, "filterText": null, "insertText": "conj", "kind": 12, "label": "conj" }, { "detail": "∀ a b. a → b → a", "documentation": { "kind": "markdown", "value": "Returns its first argument and ignores its second.\n\n```purescript\nconst 1 \"hello\" = 1\n```\n\n*From: Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "const", "Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "const" }, "sortText": "Z.const", "additionalTextEdits": null, "filterText": null, "insertText": "const", "kind": 12, "label": "const" }, { "detail": "List (Tuple Seed Result) → ResultSummary", "documentation": { "kind": "markdown", "value": "Processes the results from `quickCheckPure'` to produce a `ResultSummary`.\n\n*From: Test.QuickCheck*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "checkResults", "Test.QuickCheck", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "checkResults" }, "sortText": "Z.checkResults", "additionalTextEdits": null, "filterText": null, "insertText": "checkResults", "kind": 12, "label": "checkResults" }, { "detail": "∀ r t. Coarbitrary t ⇒ t → Gen r → Gen r", "documentation": { "kind": "markdown", "value": "\n*From: Test.QuickCheck*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "coarbitrary", "Test.QuickCheck", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "coarbitrary" }, "sortText": "Z.coarbitrary", "additionalTextEdits": null, "filterText": null, "insertText": "coarbitrary", "kind": 12, "label": "coarbitrary" }, { "detail": "∀ r t. Coarbitrary t ⇒ t → Gen r → Gen r", "documentation": { "kind": "markdown", "value": "\n*From: Test.QuickCheck.Arbitrary*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "coarbitrary", "Test.QuickCheck.Arbitrary", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "coarbitrary" }, "sortText": "Z.coarbitrary", "additionalTextEdits": null, "filterText": null, "insertText": "coarbitrary", "kind": 12, "label": "coarbitrary" }, { "detail": "Number → Number → Gen Number", "documentation": { "kind": "markdown", "value": "Create a random generator which samples a range of `Number`s i\nwith uniform probability.\n\n*From: Test.QuickCheck.Gen*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "choose", "Test.QuickCheck.Gen", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "choose" }, "sortText": "Z.choose", "additionalTextEdits": null, "filterText": null, "insertText": "choose", "kind": 12, "label": "choose" }, { "detail": "Int → Int → Gen Int", "documentation": { "kind": "markdown", "value": "Create a random generator which chooses uniformly distributed\nintegers from the closed interval `[a, b]`.\nNote that very large intervals will cause a loss of uniformity.\n\n*From: Test.QuickCheck.Gen*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "chooseInt", "Test.QuickCheck.Gen", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "chooseInt" }, "sortText": "Z.chooseInt", "additionalTextEdits": null, "filterText": null, "insertText": "chooseInt", "kind": 12, "label": "chooseInt" }, { "detail": "∀ m g i a. Functor m ⇒ SpecT g i m a → m (Array (SpecTree g i))", "documentation": { "kind": "markdown", "value": "Collects all tests, if something is focused, all unfocused tests will be discarded\n\n*From: Test.Spec*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "collect", "Test.Spec", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "collect" }, "sortText": "Z.collect", "additionalTextEdits": null, "filterText": null, "insertText": "collect", "kind": 12, "label": "collect" }, { "detail": "Reporter", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Reporter*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "consoleReporter", "Test.Spec.Reporter", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "consoleReporter" }, "sortText": "Z.consoleReporter", "additionalTextEdits": null, "filterText": null, "insertText": "consoleReporter", "kind": 12, "label": "consoleReporter" }, { "detail": "Reporter", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Reporter.Console*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "consoleReporter", "Test.Spec.Reporter.Console", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "consoleReporter" }, "sortText": "Z.consoleReporter", "additionalTextEdits": null, "filterText": null, "insertText": "consoleReporter", "kind": 12, "label": "consoleReporter" }, { "detail": "Style", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Style*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "cyan", "Test.Spec.Style", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "cyan" }, "sortText": "Z.cyan", "additionalTextEdits": null, "filterText": null, "insertText": "cyan", "kind": 12, "label": "cyan" }, { "detail": "∀ c t. Array (Tree c t) → Int", "documentation": { "kind": "markdown", "value": "Count the total number of tests in a spec\n\n*From: Test.Spec.Tree*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "countTests", "Test.Spec.Tree", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "countTests" }, "sortText": "Z.countTests", "additionalTextEdits": null, "filterText": null, "insertText": "countTests", "kind": 12, "label": "countTests" }, { "detail": "∀ a. Int → Array a → Array (Array a)", "documentation": { "kind": "markdown", "value": "\n*From: Utils.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "combinations", "Utils.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "combinations" }, "sortText": "Z.combinations", "additionalTextEdits": null, "filterText": null, "insertText": "combinations", "kind": 12, "label": "combinations" } ], "isIncomplete": false } [Trace - 4:16:59 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 74 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec)\n\nspec :: Spec Unit\nspec = describe \"Problems\" do\n describe \"Problem 1\" do\n it \"returns correct r\n" } ] } [Trace - 4:16:59 PM] Sending request 'textDocument/completion - (40)'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" }, "position": { "line": 9, "character": 26 }, "context": { "triggerKind": 1 } } [Trace - 4:16:59 PM] Received notification 'window/logMessage'. Params: { "type": 3, "message": "[Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead\n" } [Info - 4:16:59 PM] [Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead [Trace - 4:16:59 PM] Received response 'textDocument/completion - (40)' in 40ms. Result: { "items": [ { "detail": "∀ e a. Env e a → Tuple e a", "documentation": { "kind": "markdown", "value": "Unwrap a value in the `Env` comonad.\n\n*From: Control.Comonad.Env*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runEnv", "Control.Comonad.Env", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runEnv" }, "sortText": "Z.runEnv", "additionalTextEdits": null, "filterText": null, "insertText": "runEnv", "kind": 12, "label": "runEnv" }, { "detail": "∀ e w a. EnvT e w a → Tuple e (w a)", "documentation": { "kind": "markdown", "value": "Unwrap a value in the `EnvT` comonad.\n\n*From: Control.Comonad.Env*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runEnvT", "Control.Comonad.Env", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runEnvT" }, "sortText": "Z.runEnvT", "additionalTextEdits": null, "filterText": null, "insertText": "runEnvT", "kind": 12, "label": "runEnvT" }, { "detail": "∀ e w a. EnvT e w a → Tuple e (w a)", "documentation": { "kind": "markdown", "value": "Unwrap a value in the `EnvT` comonad.\n\n*From: Control.Comonad.Env.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runEnvT", "Control.Comonad.Env.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runEnvT" }, "sortText": "Z.runEnvT", "additionalTextEdits": null, "filterText": null, "insertText": "runEnvT", "kind": 12, "label": "runEnvT" }, { "detail": "∀ s a. Store s a → Tuple (s → a) s", "documentation": { "kind": "markdown", "value": "Unwrap a value in the `Store` comonad.\n\n*From: Control.Comonad.Store*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runStore", "Control.Comonad.Store", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runStore" }, "sortText": "Z.runStore", "additionalTextEdits": null, "filterText": null, "insertText": "runStore", "kind": 12, "label": "runStore" }, { "detail": "∀ s w a. StoreT s w a → Tuple (w (s → a)) s", "documentation": { "kind": "markdown", "value": "Unwrap a value in the `StoreT` comonad.\n\n*From: Control.Comonad.Store*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runStoreT", "Control.Comonad.Store", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runStoreT" }, "sortText": "Z.runStoreT", "additionalTextEdits": null, "filterText": null, "insertText": "runStoreT", "kind": 12, "label": "runStoreT" }, { "detail": "∀ s w a. StoreT s w a → Tuple (w (s → a)) s", "documentation": { "kind": "markdown", "value": "Unwrap a value in the `StoreT` comonad.\n\n*From: Control.Comonad.Store.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runStoreT", "Control.Comonad.Store.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runStoreT" }, "sortText": "Z.runStoreT", "additionalTextEdits": null, "filterText": null, "insertText": "runStoreT", "kind": 12, "label": "runStoreT" }, { "detail": "∀ m a. Traced m a → m → a", "documentation": { "kind": "markdown", "value": "Unwrap a value in the `Traced` comonad.\n\n*From: Control.Comonad.Traced*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runTraced", "Control.Comonad.Traced", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runTraced" }, "sortText": "Z.runTraced", "additionalTextEdits": null, "filterText": null, "insertText": "runTraced", "kind": 12, "label": "runTraced" }, { "detail": "∀ w a t. TracedT t w a → w (t → a)", "documentation": { "kind": "markdown", "value": "Unwrap a value in the `TracedT` comonad.\n\n*From: Control.Comonad.Traced*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runTracedT", "Control.Comonad.Traced", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runTracedT" }, "sortText": "Z.runTracedT", "additionalTextEdits": null, "filterText": null, "insertText": "runTracedT", "kind": 12, "label": "runTracedT" }, { "detail": "∀ w a t. TracedT t w a → w (t → a)", "documentation": { "kind": "markdown", "value": "Unwrap a value in the `TracedT` comonad.\n\n*From: Control.Comonad.Traced.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runTracedT", "Control.Comonad.Traced.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runTracedT" }, "sortText": "Z.runTracedT", "additionalTextEdits": null, "filterText": null, "insertText": "runTracedT", "kind": 12, "label": "runTracedT" }, { "detail": "∀ r a. ContT r Identity a → (a → r) → r", "documentation": { "kind": "markdown", "value": "Runs a computation in the `Cont` monad.\n\n*From: Control.Monad.Cont*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runCont", "Control.Monad.Cont", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runCont" }, "sortText": "Z.runCont", "additionalTextEdits": null, "filterText": null, "insertText": "runCont", "kind": 12, "label": "runCont" }, { "detail": "∀ r m a. ContT r m a → (a → m r) → m r", "documentation": { "kind": "markdown", "value": "Run a computation in the `ContT` monad, by providing a continuation.\n\n*From: Control.Monad.Cont*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runContT", "Control.Monad.Cont", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runContT" }, "sortText": "Z.runContT", "additionalTextEdits": null, "filterText": null, "insertText": "runContT", "kind": 12, "label": "runContT" }, { "detail": "∀ r m a. ContT r m a → (a → m r) → m r", "documentation": { "kind": "markdown", "value": "Run a computation in the `ContT` monad, by providing a continuation.\n\n*From: Control.Monad.Cont.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runContT", "Control.Monad.Cont.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runContT" }, "sortText": "Z.runContT", "additionalTextEdits": null, "filterText": null, "insertText": "runContT", "kind": 12, "label": "runContT" }, { "detail": "∀ e a. Except e a → Either e a", "documentation": { "kind": "markdown", "value": "Run a computation in the `Except` monad. The inverse of `except`.\n\n*From: Control.Monad.Except*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runExcept", "Control.Monad.Except", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runExcept" }, "sortText": "Z.runExcept", "additionalTextEdits": null, "filterText": null, "insertText": "runExcept", "kind": 12, "label": "runExcept" }, { "detail": "∀ e m a. ExceptT e m a → m (Either e a)", "documentation": { "kind": "markdown", "value": "The inverse of `ExceptT`. Run a computation in the `ExceptT` monad.\n\n*From: Control.Monad.Except*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runExceptT", "Control.Monad.Except", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runExceptT" }, "sortText": "Z.runExceptT", "additionalTextEdits": null, "filterText": null, "insertText": "runExceptT", "kind": 12, "label": "runExceptT" }, { "detail": "∀ e m a. ExceptT e m a → m (Either e a)", "documentation": { "kind": "markdown", "value": "The inverse of `ExceptT`. Run a computation in the `ExceptT` monad.\n\n*From: Control.Monad.Except.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runExceptT", "Control.Monad.Except.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runExceptT" }, "sortText": "Z.runExceptT", "additionalTextEdits": null, "filterText": null, "insertText": "runExceptT", "kind": 12, "label": "runExceptT" }, { "detail": "∀ f a. Functor f ⇒ (f (Free f a) → Free f a) → Free f a → a", "documentation": { "kind": "markdown", "value": "Run a free monad with a function that unwraps a single layer of the functor\n`f` at a time.\n\n*From: Control.Monad.Free*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runFree", "Control.Monad.Free", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runFree" }, "sortText": "Z.runFree", "additionalTextEdits": null, "filterText": null, "insertText": "runFree", "kind": 12, "label": "runFree" }, { "detail": "∀ f m a. Functor f ⇒ MonadRec m ⇒ (f (Free f a) → m (Free f a)) → Free f a → m a", "documentation": { "kind": "markdown", "value": "Run a free monad with a function mapping a functor `f` to a tail-recursive\nmonad `m`. See the `MonadRec` type class for more details.\n\n*From: Control.Monad.Free*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runFreeM", "Control.Monad.Free", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runFreeM" }, "sortText": "Z.runFreeM", "additionalTextEdits": null, "filterText": null, "insertText": "runFreeM", "kind": 12, "label": "runFreeM" }, { "detail": "∀ f a. Functor f ⇒ Free f a → Either (f (Free f a)) a", "documentation": { "kind": "markdown", "value": "Unwraps a single layer of the functor `f`.\n\n*From: Control.Monad.Free*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "resume", "Control.Monad.Free", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "resume" }, "sortText": "Z.resume", "additionalTextEdits": null, "filterText": null, "insertText": "resume", "kind": 12, "label": "resume" }, { "detail": "∀ f a r. (∀ b. f b → (b → Free f a) → r) → (a → r) → Free f a → r", "documentation": { "kind": "markdown", "value": "Unwraps a single layer of `f`, providing the continuation.\n\n*From: Control.Monad.Free*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "resume'", "Control.Monad.Free", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "resume'" }, "sortText": "Z.resume'", "additionalTextEdits": null, "filterText": null, "insertText": "resume'", "kind": 12, "label": "resume'" }, { "detail": "∀ a m. MonadGen m ⇒ (Int → Int) → m a → m a", "documentation": { "kind": "markdown", "value": "\n*From: Control.Monad.Gen*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "resize", "Control.Monad.Gen", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "resize" }, "sortText": "Z.resize", "additionalTextEdits": null, "filterText": null, "insertText": "resize", "kind": 12, "label": "resize" }, { "detail": "∀ a m. MonadGen m ⇒ (Int → Int) → m a → m a", "documentation": { "kind": "markdown", "value": "\n*From: Control.Monad.Gen.Class*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "resize", "Control.Monad.Gen.Class", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "resize" }, "sortText": "Z.resize", "additionalTextEdits": null, "filterText": null, "insertText": "resize", "kind": 12, "label": "resize" }, { "detail": "∀ f a. Monad f ⇒ a → ListT f a", "documentation": { "kind": "markdown", "value": "Generate an infinite list by repeating a value.\n\n*From: Control.Monad.List.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "repeat", "Control.Monad.List.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "repeat" }, "sortText": "Z.repeat", "additionalTextEdits": null, "filterText": null, "insertText": "repeat", "kind": 12, "label": "repeat" }, { "detail": "∀ f a. Monad f ⇒ ListT f a → f Unit", "documentation": { "kind": "markdown", "value": "Drain a `ListT`, running it to completion and discarding all values.\n\n*From: Control.Monad.List.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runListT", "Control.Monad.List.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runListT" }, "sortText": "Z.runListT", "additionalTextEdits": null, "filterText": null, "insertText": "runListT", "kind": 12, "label": "runListT" }, { "detail": "∀ f a. MonadRec f ⇒ ListT f a → f Unit", "documentation": { "kind": "markdown", "value": "Drain a `ListT`, running it to completion and discarding all values.\nStack safe: Uses tail call optimization.\n\n*From: Control.Monad.List.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runListTRec", "Control.Monad.List.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runListTRec" }, "sortText": "Z.runListTRec", "additionalTextEdits": null, "filterText": null, "insertText": "runListTRec", "kind": 12, "label": "runListTRec" }, { "detail": "∀ m a. MaybeT m a → m (Maybe a)", "documentation": { "kind": "markdown", "value": "Run a computation in the `MaybeT` monad.\n\n*From: Control.Monad.Maybe.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runMaybeT", "Control.Monad.Maybe.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runMaybeT" }, "sortText": "Z.runMaybeT", "additionalTextEdits": null, "filterText": null, "insertText": "runMaybeT", "kind": 12, "label": "runMaybeT" }, { "detail": "∀ r w s a. (r → s → RWSResult s a w) → RWS r w s a", "documentation": { "kind": "markdown", "value": "Create an action in the `RWS` monad from a function which uses the\nglobal context and state explicitly.\n\n*From: Control.Monad.RWS*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "rws", "Control.Monad.RWS", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "rws" }, "sortText": "Z.rws", "additionalTextEdits": null, "filterText": null, "insertText": "rws", "kind": 12, "label": "rws" }, { "detail": "∀ r w s a. RWS r w s a → r → s → RWSResult s a w", "documentation": { "kind": "markdown", "value": "Run a computation in the `RWS` monad.\n\n*From: Control.Monad.RWS*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runRWS", "Control.Monad.RWS", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runRWS" }, "sortText": "Z.runRWS", "additionalTextEdits": null, "filterText": null, "insertText": "runRWS", "kind": 12, "label": "runRWS" }, { "detail": "∀ r w s m a. RWST r w s m a → r → s → m (RWSResult s a w)", "documentation": { "kind": "markdown", "value": "Run a computation in the `RWST` monad.\n\n*From: Control.Monad.RWS*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runRWST", "Control.Monad.RWS", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runRWST" }, "sortText": "Z.runRWST", "additionalTextEdits": null, "filterText": null, "insertText": "runRWST", "kind": 12, "label": "runRWST" }, { "detail": "∀ r w s m a. RWST r w s m a → r → s → m (RWSResult s a w)", "documentation": { "kind": "markdown", "value": "Run a computation in the `RWST` monad.\n\n*From: Control.Monad.RWS.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runRWST", "Control.Monad.RWS.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runRWST" }, "sortText": "Z.runRWST", "additionalTextEdits": null, "filterText": null, "insertText": "runRWST", "kind": 12, "label": "runRWST" }, { "detail": "∀ r a. Reader r a → r → a", "documentation": { "kind": "markdown", "value": "Run a computation in the `Reader` monad.\n\n*From: Control.Monad.Reader*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runReader", "Control.Monad.Reader", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runReader" }, "sortText": "Z.runReader", "additionalTextEdits": null, "filterText": null, "insertText": "runReader", "kind": 12, "label": "runReader" }, { "detail": "∀ r m a. ReaderT r m a → (r → m a)", "documentation": { "kind": "markdown", "value": "Run a computation in the `ReaderT` monad.\n\n*From: Control.Monad.Reader*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runReaderT", "Control.Monad.Reader", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runReaderT" }, "sortText": "Z.runReaderT", "additionalTextEdits": null, "filterText": null, "insertText": "runReaderT", "kind": 12, "label": "runReaderT" }, { "detail": "∀ r m a. ReaderT r m a → (r → m a)", "documentation": { "kind": "markdown", "value": "Run a computation in the `ReaderT` monad.\n\n*From: Control.Monad.Reader.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runReaderT", "Control.Monad.Reader.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runReaderT" }, "sortText": "Z.runReaderT", "additionalTextEdits": null, "filterText": null, "insertText": "runReaderT", "kind": 12, "label": "runReaderT" }, { "detail": "∀ a. (∀ r. ST r a) → a", "documentation": { "kind": "markdown", "value": "Run an `ST` computation.\n\nNote: the type of `run` uses a rank-2 type to constrain the phantom\ntype `r`, such that the computation must not leak any mutable references\nto the surrounding computation. It may cause problems to apply this\nfunction using the `$` operator. The recommended approach is to use\nparentheses instead.\n\n*From: Control.Monad.ST*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "run", "Control.Monad.ST", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "run" }, "sortText": "Z.run", "additionalTextEdits": null, "filterText": null, "insertText": "run", "kind": 12, "label": "run" }, { "detail": "∀ a. (∀ r. ST r a) → a", "documentation": { "kind": "markdown", "value": "Run an `ST` computation.\n\nNote: the type of `run` uses a rank-2 type to constrain the phantom\ntype `r`, such that the computation must not leak any mutable references\nto the surrounding computation. It may cause problems to apply this\nfunction using the `$` operator. The recommended approach is to use\nparentheses instead.\n\n*From: Control.Monad.ST.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "run", "Control.Monad.ST.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "run" }, "sortText": "Z.run", "additionalTextEdits": null, "filterText": null, "insertText": "run", "kind": 12, "label": "run" }, { "detail": "∀ a r. STRef r a → ST r a", "documentation": { "kind": "markdown", "value": "Read the current value of a mutable reference.\n\n*From: Control.Monad.ST.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "read", "Control.Monad.ST.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "read" }, "sortText": "Z.read", "additionalTextEdits": null, "filterText": null, "insertText": "read", "kind": 12, "label": "read" }, { "detail": "∀ a r. STRef r a → ST r a", "documentation": { "kind": "markdown", "value": "Read the current value of a mutable reference.\n\n*From: Control.Monad.ST.Ref*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "read", "Control.Monad.ST.Ref", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "read" }, "sortText": "Z.read", "additionalTextEdits": null, "filterText": null, "insertText": "read", "kind": 12, "label": "read" }, { "detail": "∀ s a. State s a → s → Tuple a s", "documentation": { "kind": "markdown", "value": "Run a computation in the `State` monad\n\n*From: Control.Monad.State*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runState", "Control.Monad.State", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runState" }, "sortText": "Z.runState", "additionalTextEdits": null, "filterText": null, "insertText": "runState", "kind": 12, "label": "runState" }, { "detail": "∀ s m a. StateT s m a → s → m (Tuple a s)", "documentation": { "kind": "markdown", "value": "Run a computation in the `StateT` monad.\n\n*From: Control.Monad.State*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runStateT", "Control.Monad.State", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runStateT" }, "sortText": "Z.runStateT", "additionalTextEdits": null, "filterText": null, "insertText": "runStateT", "kind": 12, "label": "runStateT" }, { "detail": "∀ s m a. StateT s m a → s → m (Tuple a s)", "documentation": { "kind": "markdown", "value": "Run a computation in the `StateT` monad.\n\n*From: Control.Monad.State.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runStateT", "Control.Monad.State.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runStateT" }, "sortText": "Z.runStateT", "additionalTextEdits": null, "filterText": null, "insertText": "runStateT", "kind": 12, "label": "runStateT" }, { "detail": "∀ a. Trampoline a → a", "documentation": { "kind": "markdown", "value": "Run a computation in the `Trampoline` monad.\n\n*From: Control.Monad.Trampoline*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runTrampoline", "Control.Monad.Trampoline", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runTrampoline" }, "sortText": "Z.runTrampoline", "additionalTextEdits": null, "filterText": null, "insertText": "runTrampoline", "kind": 12, "label": "runTrampoline" }, { "detail": "∀ w a. Writer w a → Tuple a w", "documentation": { "kind": "markdown", "value": "Run a computation in the `Writer` monad\n\n*From: Control.Monad.Writer*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runWriter", "Control.Monad.Writer", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runWriter" }, "sortText": "Z.runWriter", "additionalTextEdits": null, "filterText": null, "insertText": "runWriter", "kind": 12, "label": "runWriter" }, { "detail": "∀ w m a. WriterT w m a → m (Tuple a w)", "documentation": { "kind": "markdown", "value": "Run a computation in the `WriterT` monad.\n\n*From: Control.Monad.Writer*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runWriterT", "Control.Monad.Writer", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runWriterT" }, "sortText": "Z.runWriterT", "additionalTextEdits": null, "filterText": null, "insertText": "runWriterT", "kind": 12, "label": "runWriterT" }, { "detail": "∀ w m a. WriterT w m a → m (Tuple a w)", "documentation": { "kind": "markdown", "value": "Run a computation in the `WriterT` monad.\n\n*From: Control.Monad.Writer.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runWriterT", "Control.Monad.Writer.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runWriterT" }, "sortText": "Z.runWriterT", "additionalTextEdits": null, "filterText": null, "insertText": "runWriterT", "kind": 12, "label": "runWriterT" }, { "detail": "Int → Int → Array Int", "documentation": { "kind": "markdown", "value": "Create an array containing a range of integers, including both endpoints.\n```purescript\nrange 2 5 = [2, 3, 4, 5]\n```\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "range", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "range" }, "sortText": "Z.range", "additionalTextEdits": null, "filterText": null, "insertText": "range", "kind": 12, "label": "range" }, { "detail": "∀ a. Int → a → Array a", "documentation": { "kind": "markdown", "value": "Create an array containing a value repeated the specified number of times.\n```purescript\nreplicate 2 \"Hi\" = [\"Hi\", \"Hi\"]\n```\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "replicate", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "replicate" }, "sortText": "Z.replicate", "additionalTextEdits": null, "filterText": null, "insertText": "replicate", "kind": 12, "label": "replicate" }, { "detail": "∀ a. Array a → Array a", "documentation": { "kind": "markdown", "value": "Reverse an array, creating a new array.\n\n```purescript\nreverse [] = []\nreverse [1, 2, 3] = [3, 2, 1]\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "reverse", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "reverse" }, "sortText": "Z.reverse", "additionalTextEdits": null, "filterText": null, "insertText": "reverse", "kind": 12, "label": "reverse" }, { "detail": "Int → Int → NonEmptyArray Int", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "range", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "range" }, "sortText": "Z.range", "additionalTextEdits": null, "filterText": null, "insertText": "range", "kind": 12, "label": "range" }, { "detail": "∀ a. Int → a → NonEmptyArray a", "documentation": { "kind": "markdown", "value": "Replicate an item at least once\n\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "replicate", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "replicate" }, "sortText": "Z.replicate", "additionalTextEdits": null, "filterText": null, "insertText": "replicate", "kind": 12, "label": "replicate" }, { "detail": "∀ a. NonEmptyArray a → NonEmptyArray a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "reverse", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "reverse" }, "sortText": "Z.reverse", "additionalTextEdits": null, "filterText": null, "insertText": "reverse", "kind": 12, "label": "reverse" }, { "detail": "∀ a. (∀ h. ST h (STArray h a)) → Array a", "documentation": { "kind": "markdown", "value": "A safe way to create and work with a mutable array before returning an\nimmutable array for later perusal. This function avoids copying the array\nbefore returning it - it uses unsafeFreeze internally, but this wrapper is\na safe interface to that function.\n\n*From: Data.Array.ST*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "run", "Data.Array.ST", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "run" }, "sortText": "Z.run", "additionalTextEdits": null, "filterText": null, "insertText": "run", "kind": 12, "label": "run" }, { "detail": "∀ f a b c. Bifunctor f ⇒ (b → c) → f a b → f a c", "documentation": { "kind": "markdown", "value": "Map a function over the second type arguments of a `Bifunctor`.\n\n*From: Data.Bifunctor*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "rmap", "Data.Bifunctor", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "rmap" }, "sortText": "Z.rmap", "additionalTextEdits": null, "filterText": null, "insertText": "rmap", "kind": 12, "label": "rmap" }, { "detail": "BigInt → BigInt → BigInt", "documentation": { "kind": "markdown", "value": "The remainder after truncating integer division\n\n*From: Data.BigInt*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "rem", "Data.BigInt", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "rem" }, "sortText": "Z.rem", "additionalTextEdits": null, "filterText": null, "insertText": "rem", "kind": 12, "label": "rem" }, { "detail": "∀ t b c a f. Bitraversable t ⇒ Applicative f ⇒ (b → f c) → t a b → f (t a c)", "documentation": { "kind": "markdown", "value": "\n*From: Data.Bitraversable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "rtraverse", "Data.Bitraversable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "rtraverse" }, "sortText": "Z.rtraverse", "additionalTextEdits": null, "filterText": null, "insertText": "rtraverse", "kind": 12, "label": "rtraverse" }, { "detail": "∀ t b c a f. Bitraversable t ⇒ Applicative f ⇒ t a b → (b → f c) → f (t a c)", "documentation": { "kind": "markdown", "value": "\n*From: Data.Bitraversable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "rfor", "Data.Bitraversable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "rfor" }, "sortText": "Z.rfor", "additionalTextEdits": null, "filterText": null, "insertText": "rfor", "kind": 12, "label": "rfor" }, { "detail": "∀ a. DivisionRing a ⇒ a → a", "documentation": { "kind": "markdown", "value": "\n*From: Data.DivisionRing*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "recip", "Data.DivisionRing", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "recip" }, "sortText": "Z.recip", "additionalTextEdits": null, "filterText": null, "insertText": "recip", "kind": 12, "label": "recip" }, { "detail": "∀ a. DivisionRing a ⇒ a → a → a", "documentation": { "kind": "markdown", "value": "Right division, defined as `rightDiv a b = a * recip b`. Left and right\ndivision are distinct in this module because a `DivisionRing` is not\nnecessarily commutative.\n\nIf the type `a` is also a `EuclideanRing`, then this function is\nequivalent to `div` from the `EuclideanRing` class. When working\nabstractly, `div` should generally be preferred, unless you know that you\nneed your code to work with noncommutative rings.\n\n*From: Data.DivisionRing*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "rightDiv", "Data.DivisionRing", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "rightDiv" }, "sortText": "Z.rightDiv", "additionalTextEdits": null, "filterText": null, "insertText": "rightDiv", "kind": 12, "label": "rightDiv" }, { "detail": "∀ f r. (∀ a. f a → r) → Exists f → r", "documentation": { "kind": "markdown", "value": "The `runExists` function is used to eliminate a value of type `Exists f`. The rank 2 type ensures\nthat the existentially-quantified type does not escape its scope. Since the function is required\nto work for _any_ type `a`, it will work for the existentially-quantified type.\n\nFor example, we can write a function to obtain the head of a stream by using `runExists` as follows:\n\n```purescript\nhead :: forall a. Stream a -> a\nhead = runExists head'\n where\n head' :: forall s. StreamF a s -> a\n head' (StreamF s f) = snd (f s)\n```\n\n*From: Data.Exists*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runExists", "Data.Exists", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runExists" }, "sortText": "Z.runExists", "additionalTextEdits": null, "filterText": null, "insertText": "runExists", "kind": 12, "label": "runExists" }, { "detail": "∀ a. DivisionRing a ⇒ a → a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Field*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "recip", "Data.Field", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "recip" }, "sortText": "Z.recip", "additionalTextEdits": null, "filterText": null, "insertText": "recip", "kind": 12, "label": "recip" }, { "detail": "∀ a. Fn0 a → a", "documentation": { "kind": "markdown", "value": "Apply a function of no arguments\n\n*From: Data.Function.Uncurried*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runFn0", "Data.Function.Uncurried", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runFn0" }, "sortText": "Z.runFn0", "additionalTextEdits": null, "filterText": null, "insertText": "runFn0", "kind": 12, "label": "runFn0" }, { "detail": "∀ a b. Fn1 a b → a → b", "documentation": { "kind": "markdown", "value": "Apply a function of one argument\n\n*From: Data.Function.Uncurried*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runFn1", "Data.Function.Uncurried", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runFn1" }, "sortText": "Z.runFn1", "additionalTextEdits": null, "filterText": null, "insertText": "runFn1", "kind": 12, "label": "runFn1" }, { "detail": "∀ a b c. Fn2 a b c → a → b → c", "documentation": { "kind": "markdown", "value": "Apply a function of two arguments\n\n*From: Data.Function.Uncurried*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runFn2", "Data.Function.Uncurried", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runFn2" }, "sortText": "Z.runFn2", "additionalTextEdits": null, "filterText": null, "insertText": "runFn2", "kind": 12, "label": "runFn2" }, { "detail": "∀ a b c d. Fn3 a b c d → a → b → c → d", "documentation": { "kind": "markdown", "value": "Apply a function of three arguments\n\n*From: Data.Function.Uncurried*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runFn3", "Data.Function.Uncurried", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runFn3" }, "sortText": "Z.runFn3", "additionalTextEdits": null, "filterText": null, "insertText": "runFn3", "kind": 12, "label": "runFn3" }, { "detail": "∀ a b c d e. Fn4 a b c d e → a → b → c → d → e", "documentation": { "kind": "markdown", "value": "Apply a function of four arguments\n\n*From: Data.Function.Uncurried*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runFn4", "Data.Function.Uncurried", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runFn4" }, "sortText": "Z.runFn4", "additionalTextEdits": null, "filterText": null, "insertText": "runFn4", "kind": 12, "label": "runFn4" }, { "detail": "∀ a b c d e f. Fn5 a b c d e f → a → b → c → d → e → f", "documentation": { "kind": "markdown", "value": "Apply a function of five arguments\n\n*From: Data.Function.Uncurried*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runFn5", "Data.Function.Uncurried", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runFn5" }, "sortText": "Z.runFn5", "additionalTextEdits": null, "filterText": null, "insertText": "runFn5", "kind": 12, "label": "runFn5" }, { "detail": "∀ a b c d e f g. Fn6 a b c d e f g → a → b → c → d → e → f → g", "documentation": { "kind": "markdown", "value": "Apply a function of six arguments\n\n*From: Data.Function.Uncurried*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runFn6", "Data.Function.Uncurried", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runFn6" }, "sortText": "Z.runFn6", "additionalTextEdits": null, "filterText": null, "insertText": "runFn6", "kind": 12, "label": "runFn6" }, { "detail": "∀ a b c d e f g h. Fn7 a b c d e f g h → a → b → c → d → e → f → g → h", "documentation": { "kind": "markdown", "value": "Apply a function of seven arguments\n\n*From: Data.Function.Uncurried*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runFn7", "Data.Function.Uncurried", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runFn7" }, "sortText": "Z.runFn7", "additionalTextEdits": null, "filterText": null, "insertText": "runFn7", "kind": 12, "label": "runFn7" }, { "detail": "∀ a b c d e f g h i. Fn8 a b c d e f g h i → a → b → c → d → e → f → g → h → i", "documentation": { "kind": "markdown", "value": "Apply a function of eight arguments\n\n*From: Data.Function.Uncurried*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runFn8", "Data.Function.Uncurried", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runFn8" }, "sortText": "Z.runFn8", "additionalTextEdits": null, "filterText": null, "insertText": "runFn8", "kind": 12, "label": "runFn8" }, { "detail": "∀ a b c d e f g h i j. Fn9 a b c d e f g h i j → a → b → c → d → e → f → g → h → i → j", "documentation": { "kind": "markdown", "value": "Apply a function of nine arguments\n\n*From: Data.Function.Uncurried*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runFn9", "Data.Function.Uncurried", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runFn9" }, "sortText": "Z.runFn9", "additionalTextEdits": null, "filterText": null, "insertText": "runFn9", "kind": 12, "label": "runFn9" }, { "detail": "∀ a b c d e f g h i j k. Fn10 a b c d e f g h i j k → a → b → c → d → e → f → g → h → i → j → k", "documentation": { "kind": "markdown", "value": "Apply a function of ten arguments\n\n*From: Data.Function.Uncurried*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runFn10", "Data.Function.Uncurried", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runFn10" }, "sortText": "Z.runFn10", "additionalTextEdits": null, "filterText": null, "insertText": "runFn10", "kind": 12, "label": "runFn10" }, { "detail": "∀ f g a. g a → Coproduct f g a", "documentation": { "kind": "markdown", "value": "Right injection\n\n*From: Data.Functor.Coproduct*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "right", "Data.Functor.Coproduct", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "right" }, "sortText": "Z.right", "additionalTextEdits": null, "filterText": null, "insertText": "right", "kind": 12, "label": "right" }, { "detail": "Number → Int", "documentation": { "kind": "markdown", "value": "Convert a `Number` to an `Int`, by taking the nearest integer to the\nargument. Values outside the `Int` range are clamped, `NaN` and `Infinity`\nvalues return 0.\n\n*From: Data.Int*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "round", "Data.Int", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "round" }, "sortText": "Z.round", "additionalTextEdits": null, "filterText": null, "insertText": "round", "kind": 12, "label": "round" }, { "detail": "Int → Maybe Radix", "documentation": { "kind": "markdown", "value": "Create a `Radix` from a number between 2 and 36.\n\n*From: Data.Int*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "radix", "Data.Int", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "radix" }, "sortText": "Z.radix", "additionalTextEdits": null, "filterText": null, "insertText": "radix", "kind": 12, "label": "radix" }, { "detail": "Int → Int → Int", "documentation": { "kind": "markdown", "value": "The `rem` function provides the remainder after _truncating_ integer\ndivision (see the documentation for the `EuclideanRing` class). It is\nidentical to `mod` in the `EuclideanRing Int` instance if the dividend is\npositive, but will be slightly different if the dividend is negative. For\nexample:\n\n```purescript\nmod 2 3 == 2\nrem 2 3 == 2\n\nmod (-2) 3 == 1\nrem (-2) 3 == (-2)\n\nmod 2 (-3) == 2\nrem 2 (-3) == 2\n```\n\n*From: Data.Int*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "rem", "Data.Int", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "rem" }, "sortText": "Z.rem", "additionalTextEdits": null, "filterText": null, "insertText": "rem", "kind": 12, "label": "rem" }, { "detail": "Foreign → F JSDate", "documentation": { "kind": "markdown", "value": "Attempts to read a `Foreign` value as a `JSDate`.\n\n*From: Data.JSDate*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "readDate", "Data.JSDate", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "readDate" }, "sortText": "Z.readDate", "additionalTextEdits": null, "filterText": null, "insertText": "readDate", "kind": 12, "label": "readDate" }, { "detail": "Int → Int → List Int", "documentation": { "kind": "markdown", "value": "Create a list containing a range of integers, including both endpoints.\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "range", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "range" }, "sortText": "Z.range", "additionalTextEdits": null, "filterText": null, "insertText": "range", "kind": 12, "label": "range" }, { "detail": "List ~> List", "documentation": { "kind": "markdown", "value": "Reverse a list.\n\nRunning time: `O(n)`\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "reverse", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "reverse" }, "sortText": "Z.reverse", "additionalTextEdits": null, "filterText": null, "insertText": "reverse", "kind": 12, "label": "reverse" }, { "detail": "Int → Int → List Int", "documentation": { "kind": "markdown", "value": "Create a list containing a range of integers, including both endpoints.\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "range", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "range" }, "sortText": "Z.range", "additionalTextEdits": null, "filterText": null, "insertText": "range", "kind": 12, "label": "range" }, { "detail": "∀ a. Int → a → List a", "documentation": { "kind": "markdown", "value": "Create a list with repeated instances of a value.\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "replicate", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "replicate" }, "sortText": "Z.replicate", "additionalTextEdits": null, "filterText": null, "insertText": "replicate", "kind": 12, "label": "replicate" }, { "detail": "∀ m a. Monad m ⇒ Int → m a → m (List a)", "documentation": { "kind": "markdown", "value": "Perform a monadic action `n` times collecting all of the results.\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "replicateM", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "replicateM" }, "sortText": "Z.replicateM", "additionalTextEdits": null, "filterText": null, "insertText": "replicateM", "kind": 12, "label": "replicateM" }, { "detail": "∀ a. a → List a", "documentation": { "kind": "markdown", "value": "Create a list by repeating an element\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "repeat", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "repeat" }, "sortText": "Z.repeat", "additionalTextEdits": null, "filterText": null, "insertText": "repeat", "kind": 12, "label": "repeat" }, { "detail": "List ~> List", "documentation": { "kind": "markdown", "value": "Reverse a list.\n\nRunning time: `O(n)`\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "reverse", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "reverse" }, "sortText": "Z.reverse", "additionalTextEdits": null, "filterText": null, "insertText": "reverse", "kind": 12, "label": "reverse" }, { "detail": "∀ a. a → NonEmptyList a", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.Lazy.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "repeat", "Data.List.Lazy.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "repeat" }, "sortText": "Z.repeat", "additionalTextEdits": null, "filterText": null, "insertText": "repeat", "kind": 12, "label": "repeat" }, { "detail": "∀ a. NonEmptyList a → NonEmptyList a", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "reverse", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "reverse" }, "sortText": "Z.reverse", "additionalTextEdits": null, "filterText": null, "insertText": "reverse", "kind": 12, "label": "reverse" }, { "detail": "Pattern → Replacement → String → String", "documentation": { "kind": "markdown", "value": "Replaces the first occurence of the pattern with the replacement string.\n\n```purescript\nreplace (Pattern \"<=\") (Replacement \"≤\") \"a <= b <= c\" == \"a ≤ b <= c\"\n```\n\n*From: Data.String*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "replace", "Data.String", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "replace" }, "sortText": "Z.replace", "additionalTextEdits": null, "filterText": null, "insertText": "replace", "kind": 12, "label": "replace" }, { "detail": "Pattern → Replacement → String → String", "documentation": { "kind": "markdown", "value": "Replaces all occurences of the pattern with the replacement string.\n\n```purescript\nreplaceAll (Pattern \"<=\") (Replacement \"≤\") \"a <= b <= c\" == \"a ≤ b ≤ c\"\n```\n\n*From: Data.String*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "replaceAll", "Data.String", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "replaceAll" }, "sortText": "Z.replaceAll", "additionalTextEdits": null, "filterText": null, "insertText": "replaceAll", "kind": 12, "label": "replaceAll" }, { "detail": "Pattern → Replacement → String → String", "documentation": { "kind": "markdown", "value": "Replaces the first occurence of the pattern with the replacement string.\n\n```purescript\nreplace (Pattern \"<=\") (Replacement \"≤\") \"a <= b <= c\" == \"a ≤ b <= c\"\n```\n\n*From: Data.String.Common*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "replace", "Data.String.Common", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "replace" }, "sortText": "Z.replace", "additionalTextEdits": null, "filterText": null, "insertText": "replace", "kind": 12, "label": "replace" }, { "detail": "Pattern → Replacement → String → String", "documentation": { "kind": "markdown", "value": "Replaces all occurences of the pattern with the replacement string.\n\n```purescript\nreplaceAll (Pattern \"<=\") (Replacement \"≤\") \"a <= b <= c\" == \"a ≤ b ≤ c\"\n```\n\n*From: Data.String.Common*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "replaceAll", "Data.String.Common", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "replaceAll" }, "sortText": "Z.replaceAll", "additionalTextEdits": null, "filterText": null, "insertText": "replaceAll", "kind": 12, "label": "replaceAll" }, { "detail": "Pattern → NonEmptyReplacement → NonEmptyString → NonEmptyString", "documentation": { "kind": "markdown", "value": "Replaces the first occurence of the pattern with the replacement string.\n\n```purescript\nreplace (Pattern \"<=\") (NonEmptyReplacement \"≤\") (NonEmptyString \"a <= b <= c\") == NonEmptyString \"a ≤ b <= c\"\n```\n\n*From: Data.String.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "replace", "Data.String.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "replace" }, "sortText": "Z.replace", "additionalTextEdits": null, "filterText": null, "insertText": "replace", "kind": 12, "label": "replace" }, { "detail": "Pattern → NonEmptyReplacement → NonEmptyString → NonEmptyString", "documentation": { "kind": "markdown", "value": "Replaces all occurences of the pattern with the replacement string.\n\n```purescript\nreplaceAll (Pattern \"<=\") (NonEmptyReplacement \"≤\") (NonEmptyString \"a <= b <= c\") == NonEmptyString \"a ≤ b ≤ c\"\n```\n\n*From: Data.String.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "replaceAll", "Data.String.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "replaceAll" }, "sortText": "Z.replaceAll", "additionalTextEdits": null, "filterText": null, "insertText": "replaceAll", "kind": 12, "label": "replaceAll" }, { "detail": "Pattern → NonEmptyReplacement → NonEmptyString → NonEmptyString", "documentation": { "kind": "markdown", "value": "Replaces the first occurence of the pattern with the replacement string.\n\n```purescript\nreplace (Pattern \"<=\") (NonEmptyReplacement \"≤\") (NonEmptyString \"a <= b <= c\") == NonEmptyString \"a ≤ b <= c\"\n```\n\n*From: Data.String.NonEmpty.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "replace", "Data.String.NonEmpty.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "replace" }, "sortText": "Z.replace", "additionalTextEdits": null, "filterText": null, "insertText": "replace", "kind": 12, "label": "replace" }, { "detail": "Pattern → NonEmptyReplacement → NonEmptyString → NonEmptyString", "documentation": { "kind": "markdown", "value": "Replaces all occurences of the pattern with the replacement string.\n\n```purescript\nreplaceAll (Pattern \"<=\") (NonEmptyReplacement \"≤\") (NonEmptyString \"a <= b <= c\") == NonEmptyString \"a ≤ b ≤ c\"\n```\n\n*From: Data.String.NonEmpty.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "replaceAll", "Data.String.NonEmpty.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "replaceAll" }, "sortText": "Z.replaceAll", "additionalTextEdits": null, "filterText": null, "insertText": "replaceAll", "kind": 12, "label": "replaceAll" }, { "detail": "String → RegexFlags → Either String Regex", "documentation": { "kind": "markdown", "value": "Constructs a `Regex` from a pattern string and flags. Fails with\n`Left error` if the pattern contains a syntax error.\n\n*From: Data.String.Regex*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "regex", "Data.String.Regex", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "regex" }, "sortText": "Z.regex", "additionalTextEdits": null, "filterText": null, "insertText": "regex", "kind": 12, "label": "regex" }, { "detail": "RegexFlags → String", "documentation": { "kind": "markdown", "value": "Returns the string representation of the given `RegexFlags`.\n\n*From: Data.String.Regex*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "renderFlags", "Data.String.Regex", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "renderFlags" }, "sortText": "Z.renderFlags", "additionalTextEdits": null, "filterText": null, "insertText": "renderFlags", "kind": 12, "label": "renderFlags" }, { "detail": "Regex → String → String → String", "documentation": { "kind": "markdown", "value": "Replaces occurences of the `Regex` with the first string. The replacement\nstring can include special replacement patterns escaped with `\"$\"`.\nSee [reference](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace).\n\n*From: Data.String.Regex*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "replace", "Data.String.Regex", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "replace" }, "sortText": "Z.replace", "additionalTextEdits": null, "filterText": null, "insertText": "replace", "kind": 12, "label": "replace" }, { "detail": "Regex → (String → Array String → String) → String → String", "documentation": { "kind": "markdown", "value": "Transforms occurences of the `Regex` using a function of the matched\nsubstring and a list of submatch strings.\nSee the [reference](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace#Specifying_a_function_as_a_parameter).\n\n*From: Data.String.Regex*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "replace'", "Data.String.Regex", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "replace'" }, "sortText": "Z.replace'", "additionalTextEdits": null, "filterText": null, "insertText": "replace'", "kind": 12, "label": "replace'" }, { "detail": "∀ sym. IsSymbol sym ⇒ SProxy sym → String", "documentation": { "kind": "markdown", "value": "\n*From: Data.Symbol*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "reflectSymbol", "Data.Symbol", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "reflectSymbol" }, "sortText": "Z.reflectSymbol", "additionalTextEdits": null, "filterText": null, "insertText": "reflectSymbol", "kind": 12, "label": "reflectSymbol" }, { "detail": "∀ r. String → (∀ sym. IsSymbol sym ⇒ SProxy sym → r) → r", "documentation": { "kind": "markdown", "value": "\n*From: Data.Symbol*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "reifySymbol", "Data.Symbol", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "reifySymbol" }, "sortText": "Z.reifySymbol", "additionalTextEdits": null, "filterText": null, "insertText": "reifySymbol", "kind": 12, "label": "reifySymbol" }, { "detail": "∀ f a. Unfoldable f ⇒ Int → a → f a", "documentation": { "kind": "markdown", "value": "Replicate a value some natural number of times.\nFor example:\n\n``` purescript\nreplicate 2 \"foo\" == ([\"foo\", \"foo\"] :: Array String)\n```\n\n*From: Data.Unfoldable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "replicate", "Data.Unfoldable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "replicate" }, "sortText": "Z.replicate", "additionalTextEdits": null, "filterText": null, "insertText": "replicate", "kind": 12, "label": "replicate" }, { "detail": "∀ m f a. Applicative m ⇒ Unfoldable f ⇒ Traversable f ⇒ Int → m a → m (f a)", "documentation": { "kind": "markdown", "value": "Perform an Applicative action `n` times, and accumulate all the results.\n\n``` purescript\n> replicateA 5 (randomInt 1 10) :: Effect (Array Int)\n[1,3,2,7,5]\n```\n\n*From: Data.Unfoldable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "replicateA", "Data.Unfoldable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "replicateA" }, "sortText": "Z.replicateA", "additionalTextEdits": null, "filterText": null, "insertText": "replicateA", "kind": 12, "label": "replicateA" }, { "detail": "∀ f. Unfoldable1 f ⇒ Int → Int → f Int", "documentation": { "kind": "markdown", "value": "Create an `Unfoldable1` containing a range of values, including both\nendpoints.\n\n``` purescript\nrange 0 0 == (NEL.singleton 0 :: NEL.NonEmptyList Int)\nrange 1 2 == (NEL.cons 1 (NEL.singleton 2) :: NEL.NonEmptyList Int)\nrange 2 0 == (NEL.cons 2 (NEL.cons 1 (NEL.singleton 0)) :: NEL.NonEmptyList Int)\n```\n\n*From: Data.Unfoldable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "range", "Data.Unfoldable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "range" }, "sortText": "Z.range", "additionalTextEdits": null, "filterText": null, "insertText": "range", "kind": 12, "label": "range" }, { "detail": "∀ f a. Unfoldable1 f ⇒ Int → a → f a", "documentation": { "kind": "markdown", "value": "Replicate a value `n` times. At least one value will be produced, so values\n`n` less than 1 will be treated as 1.\n\n``` purescript\nreplicate1 2 \"foo\" == (NEL.cons \"foo\" (NEL.singleton \"foo\") :: NEL.NonEmptyList String)\nreplicate1 0 \"foo\" == (NEL.singleton \"foo\" :: NEL.NonEmptyList String)\n```\n\n*From: Data.Unfoldable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "replicate1", "Data.Unfoldable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "replicate1" }, "sortText": "Z.replicate1", "additionalTextEdits": null, "filterText": null, "insertText": "replicate1", "kind": 12, "label": "replicate1" }, { "detail": "∀ m f a. Apply m ⇒ Unfoldable1 f ⇒ Traversable1 f ⇒ Int → m a → m (f a)", "documentation": { "kind": "markdown", "value": "Perform an `Apply` action `n` times (at least once, so values `n` less\nthan 1 will be treated as 1), and accumulate the results.\n\n``` purescript\n> replicate1A 2 (randomInt 1 10) :: Effect (NEL.NonEmptyList Int)\n(NonEmptyList (NonEmpty 8 (2 : Nil)))\n> replicate1A 0 (randomInt 1 10) :: Effect (NEL.NonEmptyList Int)\n(NonEmptyList (NonEmpty 4 Nil))\n```\n\n*From: Data.Unfoldable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "replicate1A", "Data.Unfoldable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "replicate1A" }, "sortText": "Z.replicate1A", "additionalTextEdits": null, "filterText": null, "insertText": "replicate1A", "kind": 12, "label": "replicate1A" }, { "detail": "∀ f a. Unfoldable1 f ⇒ Int → a → f a", "documentation": { "kind": "markdown", "value": "Replicate a value `n` times. At least one value will be produced, so values\n`n` less than 1 will be treated as 1.\n\n``` purescript\nreplicate1 2 \"foo\" == (NEL.cons \"foo\" (NEL.singleton \"foo\") :: NEL.NonEmptyList String)\nreplicate1 0 \"foo\" == (NEL.singleton \"foo\" :: NEL.NonEmptyList String)\n```\n\n*From: Data.Unfoldable1*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "replicate1", "Data.Unfoldable1", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "replicate1" }, "sortText": "Z.replicate1", "additionalTextEdits": null, "filterText": null, "insertText": "replicate1", "kind": 12, "label": "replicate1" }, { "detail": "∀ m f a. Apply m ⇒ Unfoldable1 f ⇒ Traversable1 f ⇒ Int → m a → m (f a)", "documentation": { "kind": "markdown", "value": "Perform an `Apply` action `n` times (at least once, so values `n` less\nthan 1 will be treated as 1), and accumulate the results.\n\n``` purescript\n> replicate1A 2 (randomInt 1 10) :: Effect (NEL.NonEmptyList Int)\n(NonEmptyList (NonEmpty 8 (2 : Nil)))\n> replicate1A 0 (randomInt 1 10) :: Effect (NEL.NonEmptyList Int)\n(NonEmptyList (NonEmpty 4 Nil))\n```\n\n*From: Data.Unfoldable1*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "replicate1A", "Data.Unfoldable1", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "replicate1A" }, "sortText": "Z.replicate1A", "additionalTextEdits": null, "filterText": null, "insertText": "replicate1A", "kind": 12, "label": "replicate1A" }, { "detail": "∀ f. Unfoldable1 f ⇒ Int → Int → f Int", "documentation": { "kind": "markdown", "value": "Create an `Unfoldable1` containing a range of values, including both\nendpoints.\n\n``` purescript\nrange 0 0 == (NEL.singleton 0 :: NEL.NonEmptyList Int)\nrange 1 2 == (NEL.cons 1 (NEL.singleton 2) :: NEL.NonEmptyList Int)\nrange 2 0 == (NEL.cons 2 (NEL.cons 1 (NEL.singleton 0)) :: NEL.NonEmptyList Int)\n```\n\n*From: Data.Unfoldable1*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "range", "Data.Unfoldable1", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "range" }, "sortText": "Z.range", "additionalTextEdits": null, "filterText": null, "insertText": "range", "kind": 12, "label": "range" }, { "detail": "∀ f a b. Yoneda f a → (a → b) → f b", "documentation": { "kind": "markdown", "value": "Run a computation of type `Yoneda f a`.\n\n*From: Data.Yoneda*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runYoneda", "Data.Yoneda", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runYoneda" }, "sortText": "Z.runYoneda", "additionalTextEdits": null, "filterText": null, "insertText": "runYoneda", "kind": 12, "label": "runYoneda" }, { "detail": "∀ a. AVar a → AVarCallback a → Effect (Effect Unit)", "documentation": { "kind": "markdown", "value": "Reads the AVar value. Unlike `take`, this will not leave the AVar empty.\nIf the AVar is empty, this will queue until it is filled. Multiple reads\nwill resolve at the same time, as soon as possible.\n\n*From: Effect.AVar*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "read", "Effect.AVar", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "read" }, "sortText": "Z.read", "additionalTextEdits": null, "filterText": null, "insertText": "read", "kind": 12, "label": "read" }, { "detail": "∀ a. (Either Error a → Effect Unit) → Aff a → Effect (Fiber Unit)", "documentation": { "kind": "markdown", "value": "Forks an `Aff` from an `Effect` context and also takes a callback to run when\nit completes. Returns the pending `Fiber`.\n\n*From: Effect.Aff*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runAff", "Effect.Aff", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runAff" }, "sortText": "Z.runAff", "additionalTextEdits": null, "filterText": null, "insertText": "runAff", "kind": 12, "label": "runAff" }, { "detail": "∀ a. (Either Error a → Effect Unit) → Aff a → Effect Unit", "documentation": { "kind": "markdown", "value": "Forks an `Aff` from an `Effect` context and also takes a callback to run when\nit completes, discarding the `Fiber`.\n\n*From: Effect.Aff*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runAff_", "Effect.Aff", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runAff_" }, "sortText": "Z.runAff_", "additionalTextEdits": null, "filterText": null, "insertText": "runAff_", "kind": 12, "label": "runAff_" }, { "detail": "∀ a. (Either Error a → Effect Unit) → Aff a → Effect (Fiber Unit)", "documentation": { "kind": "markdown", "value": "Suspends an `Aff` from an `Effect` context and also takes a callback to run\nwhen it completes. Returns the suspended `Fiber`.\n\n*From: Effect.Aff*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runSuspendedAff", "Effect.Aff", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runSuspendedAff" }, "sortText": "Z.runSuspendedAff", "additionalTextEdits": null, "filterText": null, "insertText": "runSuspendedAff", "kind": 12, "label": "runSuspendedAff" }, { "detail": "∀ a. AVar a → Aff a", "documentation": { "kind": "markdown", "value": "Reads the AVar value. Unlike `take`, this will not leave the AVar empty.\nIf the AVar is empty, this will queue until it is filled. Multiple reads\nwill resolve at the same time, as soon as possible.\n\n*From: Effect.Aff.AVar*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "read", "Effect.Aff.AVar", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "read" }, "sortText": "Z.read", "additionalTextEdits": null, "filterText": null, "insertText": "read", "kind": 12, "label": "read" }, { "detail": "∀ a r. EffectFn1 a r → a → Effect r", "documentation": { "kind": "markdown", "value": "\n*From: Effect.Aff.Compat*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runEffectFn1", "Effect.Aff.Compat", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runEffectFn1" }, "sortText": "Z.runEffectFn1", "additionalTextEdits": null, "filterText": null, "insertText": "runEffectFn1", "kind": 12, "label": "runEffectFn1" }, { "detail": "∀ a b r. EffectFn2 a b r → a → b → Effect r", "documentation": { "kind": "markdown", "value": "\n*From: Effect.Aff.Compat*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runEffectFn2", "Effect.Aff.Compat", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runEffectFn2" }, "sortText": "Z.runEffectFn2", "additionalTextEdits": null, "filterText": null, "insertText": "runEffectFn2", "kind": 12, "label": "runEffectFn2" }, { "detail": "∀ a b c r. EffectFn3 a b c r → a → b → c → Effect r", "documentation": { "kind": "markdown", "value": "\n*From: Effect.Aff.Compat*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runEffectFn3", "Effect.Aff.Compat", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runEffectFn3" }, "sortText": "Z.runEffectFn3", "additionalTextEdits": null, "filterText": null, "insertText": "runEffectFn3", "kind": 12, "label": "runEffectFn3" }, { "detail": "Effect Number", "documentation": { "kind": "markdown", "value": "Returns a random number between 0 (inclusive) and 1 (exclusive). This is\na direct wrapper around JavaScript's `Math.random()`.\n\n*From: Effect.Random*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "random", "Effect.Random", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "random" }, "sortText": "Z.random", "additionalTextEdits": null, "filterText": null, "insertText": "random", "kind": 12, "label": "random" }, { "detail": "Int → Int → Effect Int", "documentation": { "kind": "markdown", "value": "Takes a range specified by `low` (the first argument) and `high` (the\nsecond), and returns a random integer uniformly distributed in the closed\ninterval `[low, high]`. It is unspecified what happens if `low > high`,\nor if either of `low` or `high` is not an integer.\n\nFor example:\n``` purescript\nrandomInt 1 10 >>= Console.print\n```\nwill print a random integer between 1 and 10.\n\n*From: Effect.Random*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "randomInt", "Effect.Random", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "randomInt" }, "sortText": "Z.randomInt", "additionalTextEdits": null, "filterText": null, "insertText": "randomInt", "kind": 12, "label": "randomInt" }, { "detail": "Number → Number → Effect Number", "documentation": { "kind": "markdown", "value": "Returns a random number between a minimum value (inclusive) and a maximum\nvalue (exclusive). It is unspecified what happens if `maximum < minimum`.\n\nFor example:\n``` purescript\nrandomRange 1.0 2.0 >>= Console.print\n```\nwill print a random number between 1 and 2.\n\n*From: Effect.Random*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "randomRange", "Effect.Random", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "randomRange" }, "sortText": "Z.randomRange", "additionalTextEdits": null, "filterText": null, "insertText": "randomRange", "kind": 12, "label": "randomRange" }, { "detail": "Effect Boolean", "documentation": { "kind": "markdown", "value": "Returns a random boolean value with an equal chance of being `true` or\n`false`.\n\n*From: Effect.Random*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "randomBool", "Effect.Random", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "randomBool" }, "sortText": "Z.randomBool", "additionalTextEdits": null, "filterText": null, "insertText": "randomBool", "kind": 12, "label": "randomBool" }, { "detail": "∀ s. Ref s → Effect s", "documentation": { "kind": "markdown", "value": "Read the current value of a mutable reference\n\n*From: Effect.Ref*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "read", "Effect.Ref", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "read" }, "sortText": "Z.read", "additionalTextEdits": null, "filterText": null, "insertText": "read", "kind": 12, "label": "read" }, { "detail": "∀ a r. EffectFn1 a r → a → Effect r", "documentation": { "kind": "markdown", "value": "\n*From: Effect.Uncurried*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runEffectFn1", "Effect.Uncurried", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runEffectFn1" }, "sortText": "Z.runEffectFn1", "additionalTextEdits": null, "filterText": null, "insertText": "runEffectFn1", "kind": 12, "label": "runEffectFn1" }, { "detail": "∀ a b r. EffectFn2 a b r → a → b → Effect r", "documentation": { "kind": "markdown", "value": "\n*From: Effect.Uncurried*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runEffectFn2", "Effect.Uncurried", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runEffectFn2" }, "sortText": "Z.runEffectFn2", "additionalTextEdits": null, "filterText": null, "insertText": "runEffectFn2", "kind": 12, "label": "runEffectFn2" }, { "detail": "∀ a b c r. EffectFn3 a b c r → a → b → c → Effect r", "documentation": { "kind": "markdown", "value": "\n*From: Effect.Uncurried*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runEffectFn3", "Effect.Uncurried", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runEffectFn3" }, "sortText": "Z.runEffectFn3", "additionalTextEdits": null, "filterText": null, "insertText": "runEffectFn3", "kind": 12, "label": "runEffectFn3" }, { "detail": "∀ a b c d r. EffectFn4 a b c d r → a → b → c → d → Effect r", "documentation": { "kind": "markdown", "value": "\n*From: Effect.Uncurried*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runEffectFn4", "Effect.Uncurried", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runEffectFn4" }, "sortText": "Z.runEffectFn4", "additionalTextEdits": null, "filterText": null, "insertText": "runEffectFn4", "kind": 12, "label": "runEffectFn4" }, { "detail": "∀ a b c d e r. EffectFn5 a b c d e r → a → b → c → d → e → Effect r", "documentation": { "kind": "markdown", "value": "\n*From: Effect.Uncurried*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runEffectFn5", "Effect.Uncurried", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runEffectFn5" }, "sortText": "Z.runEffectFn5", "additionalTextEdits": null, "filterText": null, "insertText": "runEffectFn5", "kind": 12, "label": "runEffectFn5" }, { "detail": "∀ a b c d e f r. EffectFn6 a b c d e f r → a → b → c → d → e → f → Effect r", "documentation": { "kind": "markdown", "value": "\n*From: Effect.Uncurried*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runEffectFn6", "Effect.Uncurried", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runEffectFn6" }, "sortText": "Z.runEffectFn6", "additionalTextEdits": null, "filterText": null, "insertText": "runEffectFn6", "kind": 12, "label": "runEffectFn6" }, { "detail": "∀ a b c d e f g r. EffectFn7 a b c d e f g r → a → b → c → d → e → f → g → Effect r", "documentation": { "kind": "markdown", "value": "\n*From: Effect.Uncurried*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runEffectFn7", "Effect.Uncurried", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runEffectFn7" }, "sortText": "Z.runEffectFn7", "additionalTextEdits": null, "filterText": null, "insertText": "runEffectFn7", "kind": 12, "label": "runEffectFn7" }, { "detail": "∀ a b c d e f g h r. EffectFn8 a b c d e f g h r → a → b → c → d → e → f → g → h → Effect r", "documentation": { "kind": "markdown", "value": "\n*From: Effect.Uncurried*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runEffectFn8", "Effect.Uncurried", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runEffectFn8" }, "sortText": "Z.runEffectFn8", "additionalTextEdits": null, "filterText": null, "insertText": "runEffectFn8", "kind": 12, "label": "runEffectFn8" }, { "detail": "∀ a b c d e f g h i r. EffectFn9 a b c d e f g h i r → a → b → c → d → e → f → g → h → i → Effect r", "documentation": { "kind": "markdown", "value": "\n*From: Effect.Uncurried*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runEffectFn9", "Effect.Uncurried", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runEffectFn9" }, "sortText": "Z.runEffectFn9", "additionalTextEdits": null, "filterText": null, "insertText": "runEffectFn9", "kind": 12, "label": "runEffectFn9" }, { "detail": "∀ a b c d e f g h i j r. EffectFn10 a b c d e f g h i j r → a → b → c → d → e → f → g → h → i → j → Effect r", "documentation": { "kind": "markdown", "value": "\n*From: Effect.Uncurried*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runEffectFn10", "Effect.Uncurried", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runEffectFn10" }, "sortText": "Z.runEffectFn10", "additionalTextEdits": null, "filterText": null, "insertText": "runEffectFn10", "kind": 12, "label": "runEffectFn10" }, { "detail": "ForeignError → String", "documentation": { "kind": "markdown", "value": "\n*From: Foreign*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "renderForeignError", "Foreign", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "renderForeignError" }, "sortText": "Z.renderForeignError", "additionalTextEdits": null, "filterText": null, "insertText": "renderForeignError", "kind": 12, "label": "renderForeignError" }, { "detail": "Foreign → F String", "documentation": { "kind": "markdown", "value": "Attempt to coerce a foreign value to a `String`.\n\n*From: Foreign*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "readString", "Foreign", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "readString" }, "sortText": "Z.readString", "additionalTextEdits": null, "filterText": null, "insertText": "readString", "kind": 12, "label": "readString" }, { "detail": "Foreign → F Char", "documentation": { "kind": "markdown", "value": "Attempt to coerce a foreign value to a `Char`.\n\n*From: Foreign*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "readChar", "Foreign", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "readChar" }, "sortText": "Z.readChar", "additionalTextEdits": null, "filterText": null, "insertText": "readChar", "kind": 12, "label": "readChar" }, { "detail": "Foreign → F Boolean", "documentation": { "kind": "markdown", "value": "Attempt to coerce a foreign value to a `Boolean`.\n\n*From: Foreign*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "readBoolean", "Foreign", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "readBoolean" }, "sortText": "Z.readBoolean", "additionalTextEdits": null, "filterText": null, "insertText": "readBoolean", "kind": 12, "label": "readBoolean" }, { "detail": "Foreign → F Number", "documentation": { "kind": "markdown", "value": "Attempt to coerce a foreign value to a `Number`.\n\n*From: Foreign*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "readNumber", "Foreign", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "readNumber" }, "sortText": "Z.readNumber", "additionalTextEdits": null, "filterText": null, "insertText": "readNumber", "kind": 12, "label": "readNumber" }, { "detail": "Foreign → F Int", "documentation": { "kind": "markdown", "value": "Attempt to coerce a foreign value to an `Int`.\n\n*From: Foreign*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "readInt", "Foreign", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "readInt" }, "sortText": "Z.readInt", "additionalTextEdits": null, "filterText": null, "insertText": "readInt", "kind": 12, "label": "readInt" }, { "detail": "Foreign → F (Array Foreign)", "documentation": { "kind": "markdown", "value": "Attempt to coerce a foreign value to an array.\n\n*From: Foreign*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "readArray", "Foreign", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "readArray" }, "sortText": "Z.readArray", "additionalTextEdits": null, "filterText": null, "insertText": "readArray", "kind": 12, "label": "readArray" }, { "detail": "Foreign → F (Maybe Foreign)", "documentation": { "kind": "markdown", "value": "\n*From: Foreign*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "readNull", "Foreign", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "readNull" }, "sortText": "Z.readNull", "additionalTextEdits": null, "filterText": null, "insertText": "readNull", "kind": 12, "label": "readNull" }, { "detail": "Foreign → F (Maybe Foreign)", "documentation": { "kind": "markdown", "value": "\n*From: Foreign*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "readUndefined", "Foreign", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "readUndefined" }, "sortText": "Z.readUndefined", "additionalTextEdits": null, "filterText": null, "insertText": "readUndefined", "kind": 12, "label": "readUndefined" }, { "detail": "Foreign → F (Maybe Foreign)", "documentation": { "kind": "markdown", "value": "\n*From: Foreign*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "readNullOrUndefined", "Foreign", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "readNullOrUndefined" }, "sortText": "Z.readNullOrUndefined", "additionalTextEdits": null, "filterText": null, "insertText": "readNullOrUndefined", "kind": 12, "label": "readNullOrUndefined" }, { "detail": "String → Foreign → F Foreign", "documentation": { "kind": "markdown", "value": "Attempt to read a value from a foreign value property\n\n*From: Foreign.Index*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "readProp", "Foreign.Index", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "readProp" }, "sortText": "Z.readProp", "additionalTextEdits": null, "filterText": null, "insertText": "readProp", "kind": 12, "label": "readProp" }, { "detail": "Int → Foreign → F Foreign", "documentation": { "kind": "markdown", "value": "Attempt to read a value from a foreign value at the specified numeric index\n\n*From: Foreign.Index*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "readIndex", "Foreign.Index", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "readIndex" }, "sortText": "Z.readIndex", "additionalTextEdits": null, "filterText": null, "insertText": "readIndex", "kind": 12, "label": "readIndex" }, { "detail": "Int → String → Number", "documentation": { "kind": "markdown", "value": "Parse an integer from a `String` in the specified base\n\n*From: Global*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "readInt", "Global", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "readInt" }, "sortText": "Z.readInt", "additionalTextEdits": null, "filterText": null, "insertText": "readInt", "kind": 12, "label": "readInt" }, { "detail": "String → Number", "documentation": { "kind": "markdown", "value": "Parse a floating point value from a `String`\n\n*From: Global*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "readFloat", "Global", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "readFloat" }, "sortText": "Z.readFloat", "additionalTextEdits": null, "filterText": null, "insertText": "readFloat", "kind": 12, "label": "readFloat" }, { "detail": "Number → Number", "documentation": { "kind": "markdown", "value": "Returns the integer closest to the argument.\n\n*From: Math*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "round", "Math", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "round" }, "sortText": "Z.round", "additionalTextEdits": null, "filterText": null, "insertText": "round", "kind": 12, "label": "round" }, { "detail": "Number → Number → Number", "documentation": { "kind": "markdown", "value": "Computes the remainder after division, wrapping Javascript's `%` operator.\n\n*From: Math*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "remainder", "Math", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "remainder" }, "sortText": "Z.remainder", "additionalTextEdits": null, "filterText": null, "insertText": "remainder", "kind": 12, "label": "remainder" }, { "detail": "∀ m buf. MutableBuffer buf m ⇒ BufferValueType → Int → buf → m Number", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "read", "Node.Buffer", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "read" }, "sortText": "Z.read", "additionalTextEdits": null, "filterText": null, "insertText": "read", "kind": 12, "label": "read" }, { "detail": "∀ m buf. MutableBuffer buf m ⇒ Encoding → Int → Int → buf → m String", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "readString", "Node.Buffer", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "readString" }, "sortText": "Z.readString", "additionalTextEdits": null, "filterText": null, "insertText": "readString", "kind": 12, "label": "readString" }, { "detail": "∀ m buf. MutableBuffer buf m ⇒ BufferValueType → Int → buf → m Number", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer.Class*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "read", "Node.Buffer.Class", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "read" }, "sortText": "Z.read", "additionalTextEdits": null, "filterText": null, "insertText": "read", "kind": 12, "label": "read" }, { "detail": "∀ m buf. MutableBuffer buf m ⇒ Encoding → Int → Int → buf → m String", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer.Class*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "readString", "Node.Buffer.Class", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "readString" }, "sortText": "Z.readString", "additionalTextEdits": null, "filterText": null, "insertText": "readString", "kind": 12, "label": "readString" }, { "detail": "BufferValueType → Offset → ImmutableBuffer → Number", "documentation": { "kind": "markdown", "value": "Reads a numeric value from a buffer at the specified offset.\n\n*From: Node.Buffer.Immutable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "read", "Node.Buffer.Immutable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "read" }, "sortText": "Z.read", "additionalTextEdits": null, "filterText": null, "insertText": "read", "kind": 12, "label": "read" }, { "detail": "Encoding → Offset → Offset → ImmutableBuffer → String", "documentation": { "kind": "markdown", "value": "Reads a section of a buffer as a string with the specified encoding.\n\n*From: Node.Buffer.Immutable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "readString", "Node.Buffer.Immutable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "readString" }, "sortText": "Z.readString", "additionalTextEdits": null, "filterText": null, "insertText": "readString", "kind": 12, "label": "readString" }, { "detail": "∀ buf m. Monad m ⇒ BufferValueType → Offset → buf → m Number", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "read", "Node.Buffer.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "read" }, "sortText": "Z.read", "additionalTextEdits": null, "filterText": null, "insertText": "read", "kind": 12, "label": "read" }, { "detail": "∀ buf m. Monad m ⇒ Encoding → Offset → Offset → buf → m String", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "readString", "Node.Buffer.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "readString" }, "sortText": "Z.readString", "additionalTextEdits": null, "filterText": null, "insertText": "readString", "kind": 12, "label": "readString" }, { "detail": "(∀ h. ST h (STBuffer h)) → ImmutableBuffer", "documentation": { "kind": "markdown", "value": "Runs an effect creating an `STBuffer` then freezes the buffer and returns\nit, without unneccessary copying.\n\n*From: Node.Buffer.ST*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "run", "Node.Buffer.ST", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "run" }, "sortText": "Z.run", "additionalTextEdits": null, "filterText": null, "insertText": "run", "kind": 12, "label": "run" }, { "detail": "FilePath → FilePath → Callback Unit → Effect Unit", "documentation": { "kind": "markdown", "value": "Renames a file.\n\n*From: Node.FS.Async*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "rename", "Node.FS.Async", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "rename" }, "sortText": "Z.rename", "additionalTextEdits": null, "filterText": null, "insertText": "rename", "kind": 12, "label": "rename" }, { "detail": "FilePath → Callback FilePath → Effect Unit", "documentation": { "kind": "markdown", "value": "Reads the value of a symlink.\n\n*From: Node.FS.Async*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "readlink", "Node.FS.Async", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "readlink" }, "sortText": "Z.readlink", "additionalTextEdits": null, "filterText": null, "insertText": "readlink", "kind": 12, "label": "readlink" }, { "detail": "FilePath → Callback FilePath → Effect Unit", "documentation": { "kind": "markdown", "value": "Find the canonicalized absolute location for a path.\n\n*From: Node.FS.Async*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "realpath", "Node.FS.Async", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "realpath" }, "sortText": "Z.realpath", "additionalTextEdits": null, "filterText": null, "insertText": "realpath", "kind": 12, "label": "realpath" }, { "detail": "∀ cache. FilePath → Record cache → Callback FilePath → Effect Unit", "documentation": { "kind": "markdown", "value": "Find the canonicalized absolute location for a path using a cache object\nfor already resolved paths.\n\n*From: Node.FS.Async*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "realpath'", "Node.FS.Async", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "realpath'" }, "sortText": "Z.realpath'", "additionalTextEdits": null, "filterText": null, "insertText": "realpath'", "kind": 12, "label": "realpath'" }, { "detail": "FilePath → Callback Unit → Effect Unit", "documentation": { "kind": "markdown", "value": "Deletes a directory.\n\n*From: Node.FS.Async*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "rmdir", "Node.FS.Async", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "rmdir" }, "sortText": "Z.rmdir", "additionalTextEdits": null, "filterText": null, "insertText": "rmdir", "kind": 12, "label": "rmdir" }, { "detail": "FilePath → Callback (Array FilePath) → Effect Unit", "documentation": { "kind": "markdown", "value": "Reads the contents of a directory.\n\n*From: Node.FS.Async*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "readdir", "Node.FS.Async", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "readdir" }, "sortText": "Z.readdir", "additionalTextEdits": null, "filterText": null, "insertText": "readdir", "kind": 12, "label": "readdir" }, { "detail": "FilePath → Callback Buffer → Effect Unit", "documentation": { "kind": "markdown", "value": "Reads the entire contents of a file returning the result as a raw buffer.\n\n*From: Node.FS.Async*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "readFile", "Node.FS.Async", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "readFile" }, "sortText": "Z.readFile", "additionalTextEdits": null, "filterText": null, "insertText": "readFile", "kind": 12, "label": "readFile" }, { "detail": "Encoding → FilePath → Callback String → Effect Unit", "documentation": { "kind": "markdown", "value": "Reads the entire contents of a text file with the specified encoding.\n\n*From: Node.FS.Async*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "readTextFile", "Node.FS.Async", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "readTextFile" }, "sortText": "Z.readTextFile", "additionalTextEdits": null, "filterText": null, "insertText": "readTextFile", "kind": 12, "label": "readTextFile" }, { "detail": "Perm", "documentation": { "kind": "markdown", "value": "The \"readable\" permission.\n\n*From: Node.FS.Perms*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "read", "Node.FS.Perms", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "read" }, "sortText": "Z.read", "additionalTextEdits": null, "filterText": null, "insertText": "read", "kind": 12, "label": "read" }, { "detail": "FilePath → FilePath → Effect Unit", "documentation": { "kind": "markdown", "value": "Renames a file.\n\n*From: Node.FS.Sync*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "rename", "Node.FS.Sync", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "rename" }, "sortText": "Z.rename", "additionalTextEdits": null, "filterText": null, "insertText": "rename", "kind": 12, "label": "rename" }, { "detail": "FilePath → Effect FilePath", "documentation": { "kind": "markdown", "value": "Reads the value of a symlink.\n\n*From: Node.FS.Sync*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "readlink", "Node.FS.Sync", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "readlink" }, "sortText": "Z.readlink", "additionalTextEdits": null, "filterText": null, "insertText": "readlink", "kind": 12, "label": "readlink" }, { "detail": "FilePath → Effect FilePath", "documentation": { "kind": "markdown", "value": "Find the canonicalized absolute location for a path.\n\n*From: Node.FS.Sync*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "realpath", "Node.FS.Sync", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "realpath" }, "sortText": "Z.realpath", "additionalTextEdits": null, "filterText": null, "insertText": "realpath", "kind": 12, "label": "realpath" }, { "detail": "∀ cache. FilePath → Record cache → Effect FilePath", "documentation": { "kind": "markdown", "value": "Find the canonicalized absolute location for a path using a cache object for\nalready resolved paths.\n\n*From: Node.FS.Sync*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "realpath'", "Node.FS.Sync", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "realpath'" }, "sortText": "Z.realpath'", "additionalTextEdits": null, "filterText": null, "insertText": "realpath'", "kind": 12, "label": "realpath'" }, { "detail": "FilePath → Effect Unit", "documentation": { "kind": "markdown", "value": "Deletes a directory.\n\n*From: Node.FS.Sync*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "rmdir", "Node.FS.Sync", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "rmdir" }, "sortText": "Z.rmdir", "additionalTextEdits": null, "filterText": null, "insertText": "rmdir", "kind": 12, "label": "rmdir" }, { "detail": "FilePath → Effect (Array FilePath)", "documentation": { "kind": "markdown", "value": "Reads the contents of a directory.\n\n*From: Node.FS.Sync*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "readdir", "Node.FS.Sync", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "readdir" }, "sortText": "Z.readdir", "additionalTextEdits": null, "filterText": null, "insertText": "readdir", "kind": 12, "label": "readdir" }, { "detail": "FilePath → Effect Buffer", "documentation": { "kind": "markdown", "value": "Reads the entire contents of a file returning the result as a raw buffer.\n\n*From: Node.FS.Sync*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "readFile", "Node.FS.Sync", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "readFile" }, "sortText": "Z.readFile", "additionalTextEdits": null, "filterText": null, "insertText": "readFile", "kind": 12, "label": "readFile" }, { "detail": "Encoding → FilePath → Effect String", "documentation": { "kind": "markdown", "value": "Reads the entire contents of a text file with the specified encoding.\n\n*From: Node.FS.Sync*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "readTextFile", "Node.FS.Sync", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "readTextFile" }, "sortText": "Z.readTextFile", "additionalTextEdits": null, "filterText": null, "insertText": "readTextFile", "kind": 12, "label": "readTextFile" }, { "detail": "Array FilePath → FilePath → Effect FilePath", "documentation": { "kind": "markdown", "value": "Resolves `to` to an absolute path ([from...], to).\n\n*From: Node.Path*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "resolve", "Node.Path", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "resolve" }, "sortText": "Z.resolve", "additionalTextEdits": null, "filterText": null, "insertText": "resolve", "kind": 12, "label": "resolve" }, { "detail": "FilePath → FilePath → FilePath", "documentation": { "kind": "markdown", "value": "Solve the relative path from `from` to `to`.\n\n*From: Node.Path*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "relative", "Node.Path", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "relative" }, "sortText": "Z.relative", "additionalTextEdits": null, "filterText": null, "insertText": "relative", "kind": 12, "label": "relative" }, { "detail": "∀ w. Readable w → Effect Unit", "documentation": { "kind": "markdown", "value": "Resume reading from the stream.\n\n*From: Node.Stream*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "resume", "Node.Stream", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "resume" }, "sortText": "Z.resume", "additionalTextEdits": null, "filterText": null, "insertText": "resume", "kind": 12, "label": "resume" }, { "detail": "∀ w. Readable w → Maybe Int → Effect (Maybe Buffer)", "documentation": { "kind": "markdown", "value": "\n*From: Node.Stream*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "read", "Node.Stream", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "read" }, "sortText": "Z.read", "additionalTextEdits": null, "filterText": null, "insertText": "read", "kind": 12, "label": "read" }, { "detail": "∀ w. Readable w → Maybe Int → Encoding → Effect (Maybe String)", "documentation": { "kind": "markdown", "value": "\n*From: Node.Stream*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "readString", "Node.Stream", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "readString" }, "sortText": "Z.readString", "additionalTextEdits": null, "filterText": null, "insertText": "readString", "kind": 12, "label": "readString" }, { "detail": "∀ w. Readable w → Maybe Int → Effect (Maybe (Either String Buffer))", "documentation": { "kind": "markdown", "value": "\n*From: Node.Stream*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "readEither", "Node.Stream", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "readEither" }, "sortText": "Z.readEither", "additionalTextEdits": null, "filterText": null, "insertText": "readEither", "kind": 12, "label": "readEither" }, { "detail": "∀ a a' b y y' c m. Monad m ⇒ Proxy a' a y' y m b → Proxy Unit b y' y m c → Proxy a' a y' y m c", "documentation": { "kind": "markdown", "value": "\n*From: Pipes*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "replaceAwait", "Pipes", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "replaceAwait" }, "sortText": "Z.replaceAwait", "additionalTextEdits": null, "filterText": null, "insertText": "replaceAwait", "kind": 12, "label": "replaceAwait" }, { "detail": "∀ a a' b y y' c m. Monad m ⇒ Proxy Unit b y' y m c → Proxy a' a y' y m b → Proxy a' a y' y m c", "documentation": { "kind": "markdown", "value": "\n*From: Pipes*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "replaceAwait'", "Pipes", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "replaceAwait'" }, "sortText": "Z.replaceAwait'", "additionalTextEdits": null, "filterText": null, "insertText": "replaceAwait'", "kind": 12, "label": "replaceAwait'" }, { "detail": "∀ m r. Monad m ⇒ Effect m r → m r", "documentation": { "kind": "markdown", "value": "\n*From: Pipes.Core*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runEffect", "Pipes.Core", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runEffect" }, "sortText": "Z.runEffect", "additionalTextEdits": null, "filterText": null, "insertText": "runEffect", "kind": 12, "label": "runEffect" }, { "detail": "∀ m r. MonadRec m ⇒ Effect m r → m r", "documentation": { "kind": "markdown", "value": "\n*From: Pipes.Core*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runEffectRec", "Pipes.Core", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runEffectRec" }, "sortText": "Z.runEffectRec", "additionalTextEdits": null, "filterText": null, "insertText": "runEffectRec", "kind": 12, "label": "runEffectRec" }, { "detail": "∀ m a a' x x'. Monad m ⇒ a → Proxy x' x a' a m a'", "documentation": { "kind": "markdown", "value": "\n*From: Pipes.Core*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "respond", "Pipes.Core", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "respond" }, "sortText": "Z.respond", "additionalTextEdits": null, "filterText": null, "insertText": "respond", "kind": 12, "label": "respond" }, { "detail": "∀ a a' y y' m. Monad m ⇒ a' → Proxy a' a y' y m a", "documentation": { "kind": "markdown", "value": "\n*From: Pipes.Core*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "request", "Pipes.Core", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "request" }, "sortText": "Z.request", "additionalTextEdits": null, "filterText": null, "insertText": "request", "kind": 12, "label": "request" }, { "detail": "∀ a a' b b' m r. Monad m ⇒ Proxy a' a b' b m r → Proxy b b' a a' m r", "documentation": { "kind": "markdown", "value": "\n*From: Pipes.Core*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "reflect", "Pipes.Core", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "reflect" }, "sortText": "Z.reflect", "additionalTextEdits": null, "filterText": null, "insertText": "reflect", "kind": 12, "label": "reflect" }, { "detail": "∀ a m. Monad m ⇒ ListT m a → m Unit", "documentation": { "kind": "markdown", "value": "\n*From: Pipes.ListT*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runListT", "Pipes.ListT", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runListT" }, "sortText": "Z.runListT", "additionalTextEdits": null, "filterText": null, "insertText": "runListT", "kind": 12, "label": "runListT" }, { "detail": "∀ a m. MonadRec m ⇒ ListT m a → m Unit", "documentation": { "kind": "markdown", "value": "\n*From: Pipes.ListT*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runListTRec", "Pipes.ListT", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runListTRec" }, "sortText": "Z.runListTRec", "additionalTextEdits": null, "filterText": null, "insertText": "runListTRec", "kind": 12, "label": "runListTRec" }, { "detail": "∀ a m r. Monad m ⇒ m a → Producer_ a m r", "documentation": { "kind": "markdown", "value": "Repeat a monadic action indefinitely, `yield`ing each result\n\n*From: Pipes.Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "repeatM", "Pipes.Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "repeatM" }, "sortText": "Z.repeatM", "additionalTextEdits": null, "filterText": null, "insertText": "repeatM", "kind": 12, "label": "repeatM" }, { "detail": "∀ a m. Monad m ⇒ Int → m a → Producer_ a m Unit", "documentation": { "kind": "markdown", "value": "Repeat a monadic action a fixed number of times, `yield`ing each result\n\n*From: Pipes.Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "replicateM", "Pipes.Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "replicateM" }, "sortText": "Z.replicateM", "additionalTextEdits": null, "filterText": null, "insertText": "replicateM", "kind": 12, "label": "replicateM" }, { "detail": "∀ a. DivisionRing a ⇒ a → a", "documentation": { "kind": "markdown", "value": "\n*From: Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "recip", "Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "recip" }, "sortText": "Z.recip", "additionalTextEdits": null, "filterText": null, "insertText": "recip", "kind": 12, "label": "recip" }, { "detail": "Effect Seed", "documentation": { "kind": "markdown", "value": "Create a random seed\n\n*From: Random.LCG*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "randomSeed", "Random.LCG", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "randomSeed" }, "sortText": "Z.randomSeed", "additionalTextEdits": null, "filterText": null, "insertText": "randomSeed", "kind": 12, "label": "randomSeed" }, { "detail": "∀ prev next ty input inter output. IsSymbol prev ⇒ IsSymbol next ⇒ Cons prev ty inter input ⇒ Lacks prev inter ⇒ Cons next ty inter output ⇒ Lacks next inter ⇒ SProxy prev → SProxy next → Record input → Record output", "documentation": { "kind": "markdown", "value": "Rename a property for a label which is specified using a value-level proxy for\na type-level string.\n\nNote that the type of the resulting row must _lack_ the specified property.\nSince duplicate labels are allowed, this is checked with a type class constraint.\n\nFor example:\n\n```purescript\nrename (SProxy :: SProxy \"x\") (SProxy :: SProxy \"y\")\n :: forall a r. Lacks \"x\" r => Lacks \"y\" r => { x :: a | r} -> { y :: a | r}\n```\n\n*From: Record*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "rename", "Record", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "rename" }, "sortText": "Z.rename", "additionalTextEdits": null, "filterText": null, "insertText": "rename", "kind": 12, "label": "rename" }, { "detail": "∀ l1 l2 a r1 r2 r3. IsSymbol l1 ⇒ IsSymbol l2 ⇒ Cons l1 a r2 r1 ⇒ Lacks l1 r2 ⇒ Cons l2 a r2 r3 ⇒ Lacks l2 r2 ⇒ SProxy l1 → SProxy l2 → Builder (Record r1) (Record r3)", "documentation": { "kind": "markdown", "value": "Build by renaming an existing field.\n\n*From: Record.Builder*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "rename", "Record.Builder", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "rename" }, "sortText": "Z.rename", "additionalTextEdits": null, "filterText": null, "insertText": "rename", "kind": 12, "label": "rename" }, { "detail": "Effect Seed", "documentation": { "kind": "markdown", "value": "Create a random seed\n\n*From: Test.QuickCheck*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "randomSeed", "Test.QuickCheck", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "randomSeed" }, "sortText": "Z.randomSeed", "additionalTextEdits": null, "filterText": null, "insertText": "randomSeed", "kind": 12, "label": "randomSeed" }, { "detail": "∀ a b. (a → Gen b) → Gen (a → b)", "documentation": { "kind": "markdown", "value": "Create a random generator for a function type.\n\n*From: Test.QuickCheck.Gen*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "repeatable", "Test.QuickCheck.Gen", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "repeatable" }, "sortText": "Z.repeatable", "additionalTextEdits": null, "filterText": null, "insertText": "repeatable", "kind": 12, "label": "repeatable" }, { "detail": "∀ a. Size → Gen a → Gen a", "documentation": { "kind": "markdown", "value": "Modify a random generator by setting a new size parameter.\n\n*From: Test.QuickCheck.Gen*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "resize", "Test.QuickCheck.Gen", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "resize" }, "sortText": "Z.resize", "additionalTextEdits": null, "filterText": null, "insertText": "resize", "kind": 12, "label": "resize" }, { "detail": "∀ a. Gen a → GenState → Tuple a GenState", "documentation": { "kind": "markdown", "value": "Run a random generator\n\n*From: Test.QuickCheck.Gen*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runGen", "Test.QuickCheck.Gen", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runGen" }, "sortText": "Z.runGen", "additionalTextEdits": null, "filterText": null, "insertText": "runGen", "kind": 12, "label": "runGen" }, { "detail": "∀ a. Gen a → Effect (Array a)", "documentation": { "kind": "markdown", "value": "Get a random sample of 10 values\n\n*From: Test.QuickCheck.Gen*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "randomSample", "Test.QuickCheck.Gen", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "randomSample" }, "sortText": "Z.randomSample", "additionalTextEdits": null, "filterText": null, "insertText": "randomSample", "kind": 12, "label": "randomSample" }, { "detail": "∀ a. Size → Gen a → Effect (Array a)", "documentation": { "kind": "markdown", "value": "Sample a random generator, using a randomly generated seed\n\n*From: Test.QuickCheck.Gen*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "randomSample'", "Test.QuickCheck.Gen", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "randomSample'" }, "sortText": "Z.randomSample'", "additionalTextEdits": null, "filterText": null, "insertText": "randomSample'", "kind": 12, "label": "randomSample'" }, { "detail": "Warn (Text \"`Test.Spec.Runner.run` is Deprecated use runSpec instead\") ⇒ Array Reporter → Spec Unit → Aff Unit", "documentation": { "kind": "markdown", "value": "Run the spec with the default config\n\n*From: Test.Spec.Runner*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "run", "Test.Spec.Runner", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "run" }, "sortText": "Z.run", "additionalTextEdits": null, "filterText": null, "insertText": "run", "kind": 12, "label": "run" }, { "detail": "∀ m. Functor m ⇒ Config → Array Reporter → SpecT Aff Unit m Unit → m (Aff (Array (Tree Void Result)))", "documentation": { "kind": "markdown", "value": "Run the spec with `config`, returning the results, which\nare also reported using specified Reporters, if any.\nIf configured as such, `exit` the program upon completion\nwith appropriate exit code.\n\n*From: Test.Spec.Runner*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runSpecT", "Test.Spec.Runner", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runSpecT" }, "sortText": "Z.runSpecT", "additionalTextEdits": null, "filterText": null, "insertText": "runSpecT", "kind": 12, "label": "runSpecT" }, { "detail": "Array Reporter → Spec Unit → Aff Unit", "documentation": { "kind": "markdown", "value": "Run the spec with the default config\n\n*From: Test.Spec.Runner*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runSpec", "Test.Spec.Runner", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runSpec" }, "sortText": "Z.runSpec", "additionalTextEdits": null, "filterText": null, "insertText": "runSpec", "kind": 12, "label": "runSpec" }, { "detail": "Config → Array Reporter → Spec Unit → Aff Unit", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Runner*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "runSpec'", "Test.Spec.Runner", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "runSpec'" }, "sortText": "Z.runSpec'", "additionalTextEdits": null, "filterText": null, "insertText": "runSpec'", "kind": 12, "label": "runSpec'" }, { "detail": "Style", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Style*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "red", "Test.Spec.Style", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 25, "line": 9 }, "end": { "line": 9, "character": 26 } }, "newText": "red" }, "sortText": "Z.red", "additionalTextEdits": null, "filterText": null, "insertText": "red", "kind": 12, "label": "red" } ], "isIncomplete": false } [Trace - 4:16:59 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 75 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec)\n\nspec :: Spec Unit\nspec = describe \"Problems\" do\n describe \"Problem 1\" do\n it \"returns correct result\n" } ] } [Trace - 4:16:59 PM] Sending request 'textDocument/completion - (41)'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" }, "position": { "line": 9, "character": 31 }, "context": { "triggerKind": 1 } } [Trace - 4:16:59 PM] Received notification 'window/logMessage'. Params: { "type": 3, "message": "[Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead\n" } [Info - 4:16:59 PM] [Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead [Trace - 4:16:59 PM] Received response 'textDocument/completion - (41)' in 11ms. Result: { "items": [], "isIncomplete": false } [Trace - 4:17:00 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 76 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec)\n\nspec :: Spec Unit\nspec = describe \"Problems\" do\n describe \"Problem 1\" do\n it \"returns correct result\"\n" } ] } [Trace - 4:17:01 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 77 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec)\n\nspec :: Spec Unit\nspec = describe \"Problems\" do\n describe \"Problem 1\" do\n it \"returns correct result\" \n" } ] } [Trace - 4:17:01 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 78 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec)\n\nspec :: Spec Unit\nspec = describe \"Problems\" do\n describe \"Problem 1\" do\n it \"returns correct result\" $ \n" } ] } [Trace - 4:17:02 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 79 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec)\n\nspec :: Spec Unit\nspec = describe \"Problems\" do\n describe \"Problem 1\" do\n it \"returns correct result\" $ a\n" } ] } [Trace - 4:17:02 PM] Sending request 'textDocument/completion - (42)'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" }, "position": { "line": 9, "character": 36 }, "context": { "triggerKind": 1 } } [Trace - 4:17:02 PM] Received notification 'window/logMessage'. Params: { "type": 3, "message": "[Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead\n" } [Info - 4:17:02 PM] [Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead [Trace - 4:17:02 PM] Received response 'textDocument/completion - (42)' in 45ms. Result: { "items": [ { "detail": "∀ a f. Alt f ⇒ f a → f a → f a", "documentation": { "kind": "markdown", "value": "\n*From: Control.Alt*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "alt", "Control.Alt", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "alt" }, "sortText": "Z.alt", "additionalTextEdits": null, "filterText": null, "insertText": "alt", "kind": 12, "label": "alt" }, { "detail": "∀ a f. Alt f ⇒ f a → f a → f a", "documentation": { "kind": "markdown", "value": "\n*From: Control.Alternative*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "alt", "Control.Alternative", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "alt" }, "sortText": "Z.alt", "additionalTextEdits": null, "filterText": null, "insertText": "alt", "kind": 12, "label": "alt" }, { "detail": "∀ a b f. Apply f ⇒ f (a → b) → f a → f b", "documentation": { "kind": "markdown", "value": "\n*From: Control.Alternative*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "apply", "Control.Alternative", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "apply" }, "sortText": "Z.apply", "additionalTextEdits": null, "filterText": null, "insertText": "apply", "kind": 12, "label": "apply" }, { "detail": "∀ a b f. Apply f ⇒ f (a → b) → f a → f b", "documentation": { "kind": "markdown", "value": "\n*From: Control.Applicative*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "apply", "Control.Applicative", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "apply" }, "sortText": "Z.apply", "additionalTextEdits": null, "filterText": null, "insertText": "apply", "kind": 12, "label": "apply" }, { "detail": "∀ a b f. Apply f ⇒ f (a → b) → f a → f b", "documentation": { "kind": "markdown", "value": "\n*From: Control.Apply*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "apply", "Control.Apply", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "apply" }, "sortText": "Z.apply", "additionalTextEdits": null, "filterText": null, "insertText": "apply", "kind": 12, "label": "apply" }, { "detail": "∀ a b f. Apply f ⇒ f a → f b → f a", "documentation": { "kind": "markdown", "value": "Combine two effectful actions, keeping only the result of the first.\n\n*From: Control.Apply*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "applyFirst", "Control.Apply", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "applyFirst" }, "sortText": "Z.applyFirst", "additionalTextEdits": null, "filterText": null, "insertText": "applyFirst", "kind": 12, "label": "applyFirst" }, { "detail": "∀ a b f. Apply f ⇒ f a → f b → f b", "documentation": { "kind": "markdown", "value": "Combine two effectful actions, keeping only the result of the second.\n\n*From: Control.Apply*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "applySecond", "Control.Apply", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "applySecond" }, "sortText": "Z.applySecond", "additionalTextEdits": null, "filterText": null, "insertText": "applySecond", "kind": 12, "label": "applySecond" }, { "detail": "∀ a b f. Apply f ⇒ f (a → b) → f a → f b", "documentation": { "kind": "markdown", "value": "\n*From: Control.Bind*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "apply", "Control.Bind", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "apply" }, "sortText": "Z.apply", "additionalTextEdits": null, "filterText": null, "insertText": "apply", "kind": 12, "label": "apply" }, { "detail": "∀ a w e. ComonadAsk e w ⇒ w a → e", "documentation": { "kind": "markdown", "value": "\n*From: Control.Comonad.Env*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "ask", "Control.Comonad.Env", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "ask" }, "sortText": "Z.ask", "additionalTextEdits": null, "filterText": null, "insertText": "ask", "kind": 12, "label": "ask" }, { "detail": "∀ e1 e2 w. ComonadEnv e1 w ⇒ (e1 → e2) → w e1 → e2", "documentation": { "kind": "markdown", "value": "Get a value which depends on the environment.\n\n*From: Control.Comonad.Env*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "asks", "Control.Comonad.Env", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "asks" }, "sortText": "Z.asks", "additionalTextEdits": null, "filterText": null, "insertText": "asks", "kind": 12, "label": "asks" }, { "detail": "∀ a w e. ComonadAsk e w ⇒ w a → e", "documentation": { "kind": "markdown", "value": "\n*From: Control.Comonad.Env.Class*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "ask", "Control.Comonad.Env.Class", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "ask" }, "sortText": "Z.ask", "additionalTextEdits": null, "filterText": null, "insertText": "ask", "kind": 12, "label": "ask" }, { "detail": "∀ e1 e2 w. ComonadEnv e1 w ⇒ (e1 → e2) → w e1 → e2", "documentation": { "kind": "markdown", "value": "Get a value which depends on the environment.\n\n*From: Control.Comonad.Env.Class*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "asks", "Control.Comonad.Env.Class", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "asks" }, "sortText": "Z.asks", "additionalTextEdits": null, "filterText": null, "insertText": "asks", "kind": 12, "label": "asks" }, { "detail": "∀ m a b. Monad m ⇒ m (a → b) → m a → m b", "documentation": { "kind": "markdown", "value": "`ap` provides a default implementation of `(<*>)` for any\n[`Monad`](#monad), without using `(<*>)` as provided by the\n[`Apply`](#apply)-[`Monad`](#monad) superclass relationship.\n\n`ap` can therefore be used to write [`Apply`](#apply) instances as\nfollows:\n\n```purescript\ninstance applyF :: Apply F where\n apply = ap\n```\n\n*From: Control.Monad*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "ap", "Control.Monad", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "ap" }, "sortText": "Z.ap", "additionalTextEdits": null, "filterText": null, "insertText": "ap", "kind": 12, "label": "ap" }, { "detail": "∀ a b f. Apply f ⇒ f (a → b) → f a → f b", "documentation": { "kind": "markdown", "value": "\n*From: Control.Monad*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "apply", "Control.Monad", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "apply" }, "sortText": "Z.apply", "additionalTextEdits": null, "filterText": null, "insertText": "apply", "kind": 12, "label": "apply" }, { "detail": "∀ m r. MonadAsk r m ⇒ m r", "documentation": { "kind": "markdown", "value": "\n*From: Control.Monad.RWS*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "ask", "Control.Monad.RWS", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "ask" }, "sortText": "Z.ask", "additionalTextEdits": null, "filterText": null, "insertText": "ask", "kind": 12, "label": "ask" }, { "detail": "∀ r m a. MonadAsk r m ⇒ (r → a) → m a", "documentation": { "kind": "markdown", "value": "Projects a value from the global context in a `MonadAsk`.\n\n*From: Control.Monad.RWS*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "asks", "Control.Monad.RWS", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "asks" }, "sortText": "Z.asks", "additionalTextEdits": null, "filterText": null, "insertText": "asks", "kind": 12, "label": "asks" }, { "detail": "∀ m r. MonadAsk r m ⇒ m r", "documentation": { "kind": "markdown", "value": "\n*From: Control.Monad.Reader*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "ask", "Control.Monad.Reader", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "ask" }, "sortText": "Z.ask", "additionalTextEdits": null, "filterText": null, "insertText": "ask", "kind": 12, "label": "ask" }, { "detail": "∀ r m a. MonadAsk r m ⇒ (r → a) → m a", "documentation": { "kind": "markdown", "value": "Projects a value from the global context in a `MonadAsk`.\n\n*From: Control.Monad.Reader*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "asks", "Control.Monad.Reader", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "asks" }, "sortText": "Z.asks", "additionalTextEdits": null, "filterText": null, "insertText": "asks", "kind": 12, "label": "asks" }, { "detail": "∀ m r. MonadAsk r m ⇒ m r", "documentation": { "kind": "markdown", "value": "\n*From: Control.Monad.Reader.Class*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "ask", "Control.Monad.Reader.Class", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "ask" }, "sortText": "Z.ask", "additionalTextEdits": null, "filterText": null, "insertText": "ask", "kind": 12, "label": "ask" }, { "detail": "∀ r m a. MonadAsk r m ⇒ (r → a) → m a", "documentation": { "kind": "markdown", "value": "Projects a value from the global context in a `MonadAsk`.\n\n*From: Control.Monad.Reader.Class*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "asks", "Control.Monad.Reader.Class", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "asks" }, "sortText": "Z.asks", "additionalTextEdits": null, "filterText": null, "insertText": "asks", "kind": 12, "label": "asks" }, { "detail": "∀ m r. MonadAsk r m ⇒ m r", "documentation": { "kind": "markdown", "value": "\n*From: Control.Monad.Reader.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "ask", "Control.Monad.Reader.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "ask" }, "sortText": "Z.ask", "additionalTextEdits": null, "filterText": null, "insertText": "ask", "kind": 12, "label": "ask" }, { "detail": "∀ r m a. MonadAsk r m ⇒ (r → a) → m a", "documentation": { "kind": "markdown", "value": "Projects a value from the global context in a `MonadAsk`.\n\n*From: Control.Monad.Reader.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "asks", "Control.Monad.Reader.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "asks" }, "sortText": "Z.asks", "additionalTextEdits": null, "filterText": null, "insertText": "asks", "kind": 12, "label": "asks" }, { "detail": "∀ a f. Alt f ⇒ f a → f a → f a", "documentation": { "kind": "markdown", "value": "\n*From: Control.MonadPlus*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "alt", "Control.MonadPlus", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "alt" }, "sortText": "Z.alt", "additionalTextEdits": null, "filterText": null, "insertText": "alt", "kind": 12, "label": "alt" }, { "detail": "∀ m a b. Monad m ⇒ m (a → b) → m a → m b", "documentation": { "kind": "markdown", "value": "`ap` provides a default implementation of `(<*>)` for any\n[`Monad`](#monad), without using `(<*>)` as provided by the\n[`Apply`](#apply)-[`Monad`](#monad) superclass relationship.\n\n`ap` can therefore be used to write [`Apply`](#apply) instances as\nfollows:\n\n```purescript\ninstance applyF :: Apply F where\n apply = ap\n```\n\n*From: Control.MonadPlus*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "ap", "Control.MonadPlus", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "ap" }, "sortText": "Z.ap", "additionalTextEdits": null, "filterText": null, "insertText": "ap", "kind": 12, "label": "ap" }, { "detail": "∀ a b f. Apply f ⇒ f (a → b) → f a → f b", "documentation": { "kind": "markdown", "value": "\n*From: Control.MonadPlus*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "apply", "Control.MonadPlus", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "apply" }, "sortText": "Z.apply", "additionalTextEdits": null, "filterText": null, "insertText": "apply", "kind": 12, "label": "apply" }, { "detail": "∀ a f. Alt f ⇒ f a → f a → f a", "documentation": { "kind": "markdown", "value": "\n*From: Control.MonadZero*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "alt", "Control.MonadZero", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "alt" }, "sortText": "Z.alt", "additionalTextEdits": null, "filterText": null, "insertText": "alt", "kind": 12, "label": "alt" }, { "detail": "∀ m a b. Monad m ⇒ m (a → b) → m a → m b", "documentation": { "kind": "markdown", "value": "`ap` provides a default implementation of `(<*>)` for any\n[`Monad`](#monad), without using `(<*>)` as provided by the\n[`Apply`](#apply)-[`Monad`](#monad) superclass relationship.\n\n`ap` can therefore be used to write [`Apply`](#apply) instances as\nfollows:\n\n```purescript\ninstance applyF :: Apply F where\n apply = ap\n```\n\n*From: Control.MonadZero*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "ap", "Control.MonadZero", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "ap" }, "sortText": "Z.ap", "additionalTextEdits": null, "filterText": null, "insertText": "ap", "kind": 12, "label": "ap" }, { "detail": "∀ a b f. Apply f ⇒ f (a → b) → f a → f b", "documentation": { "kind": "markdown", "value": "\n*From: Control.MonadZero*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "apply", "Control.MonadZero", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "apply" }, "sortText": "Z.apply", "additionalTextEdits": null, "filterText": null, "insertText": "apply", "kind": 12, "label": "apply" }, { "detail": "∀ a f. Alt f ⇒ f a → f a → f a", "documentation": { "kind": "markdown", "value": "\n*From: Control.Plus*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "alt", "Control.Plus", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "alt" }, "sortText": "Z.alt", "additionalTextEdits": null, "filterText": null, "insertText": "alt", "kind": 12, "label": "alt" }, { "detail": "∀ a. Int → (a → Maybe a) → Array a → Maybe (Array a)", "documentation": { "kind": "markdown", "value": "Update or delete the element at the specified index by applying a\nfunction to the current value, returning a new array or `Nothing` if the\nindex is out-of-bounds.\n\n```purescript\nalterAt 1 (stripSuffix $ Pattern \"!\") [\"Hello\", \"World!\"]\n = Just [\"Hello\", \"World\"]\n\nalterAt 1 (stripSuffix $ Pattern \"!!!!!\") [\"Hello\", \"World!\"]\n = Just [\"Hello\"]\n\nalterAt 10 (stripSuffix $ Pattern \"!\") [\"Hello\", \"World!\"] = Nothing\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "alterAt", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "alterAt" }, "sortText": "Z.alterAt", "additionalTextEdits": null, "filterText": null, "insertText": "alterAt", "kind": 12, "label": "alterAt" }, { "detail": "∀ a b f. Foldable f ⇒ HeytingAlgebra b ⇒ (a → b) → f a → b", "documentation": { "kind": "markdown", "value": "`all f` is the same as `and <<< map f`; map a function over the structure,\nand then get the conjunction of the results.\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "all", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "all" }, "sortText": "Z.all", "additionalTextEdits": null, "filterText": null, "insertText": "all", "kind": 12, "label": "all" }, { "detail": "∀ a b f. Foldable f ⇒ HeytingAlgebra b ⇒ (a → b) → f a → b", "documentation": { "kind": "markdown", "value": "`any f` is the same as `or <<< map f`; map a function over the structure,\nand then get the disjunction of the results.\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "any", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "any" }, "sortText": "Z.any", "additionalTextEdits": null, "filterText": null, "insertText": "any", "kind": 12, "label": "any" }, { "detail": "∀ a. NonEmptyArray a → Array a → NonEmptyArray a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "appendArray", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "appendArray" }, "sortText": "Z.appendArray", "additionalTextEdits": null, "filterText": null, "insertText": "appendArray", "kind": 12, "label": "appendArray" }, { "detail": "∀ a. Int → (a → Maybe a) → NonEmptyArray a → Maybe (Array a)", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "alterAt", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "alterAt" }, "sortText": "Z.alterAt", "additionalTextEdits": null, "filterText": null, "insertText": "alterAt", "kind": 12, "label": "alterAt" }, { "detail": "BigInt → BigInt", "documentation": { "kind": "markdown", "value": "The absolute value.\n\n*From: Data.BigInt*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "abs", "Data.BigInt", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "abs" }, "sortText": "Z.abs", "additionalTextEdits": null, "filterText": null, "insertText": "abs", "kind": 12, "label": "abs" }, { "detail": "BigInt → BigInt → BigInt", "documentation": { "kind": "markdown", "value": "and the bits.\n\n*From: Data.BigInt*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "and", "Data.BigInt", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "and" }, "sortText": "Z.and", "additionalTextEdits": null, "filterText": null, "insertText": "and", "kind": 12, "label": "and" }, { "detail": "∀ a. CatList a → CatList a → CatList a", "documentation": { "kind": "markdown", "value": "Append all elements of a catenable list to the end of another\ncatenable list, create a new catenable list.\n\nRunning time: `O(1)`\n\n*From: Data.CatList*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "append", "Data.CatList", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "append" }, "sortText": "Z.append", "additionalTextEdits": null, "filterText": null, "insertText": "append", "kind": 12, "label": "append" }, { "detail": "∀ a. Semiring a ⇒ a → a → a", "documentation": { "kind": "markdown", "value": "\n*From: Data.CommutativeRing*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "add", "Data.CommutativeRing", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "add" }, "sortText": "Z.add", "additionalTextEdits": null, "filterText": null, "insertText": "add", "kind": 12, "label": "add" }, { "detail": "Days → Date → Maybe Date", "documentation": { "kind": "markdown", "value": "Adjusts a date with a Duration in days. The number of days must\nalready be an integer and fall within the valid range of values\nfor the Int type.\n\n*From: Data.Date*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "adjust", "Data.Date", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "adjust" }, "sortText": "Z.adjust", "additionalTextEdits": null, "filterText": null, "insertText": "adjust", "kind": 12, "label": "adjust" }, { "detail": "∀ d. Duration d ⇒ d → DateTime → Maybe DateTime", "documentation": { "kind": "markdown", "value": "Adjusts a date/time value with a duration offset. `Nothing` is returned\nif the resulting date would be outside of the range of valid dates.\n\n*From: Data.DateTime*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "adjust", "Data.DateTime", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "adjust" }, "sortText": "Z.adjust", "additionalTextEdits": null, "filterText": null, "insertText": "adjust", "kind": 12, "label": "adjust" }, { "detail": "∀ a. Semiring a ⇒ a → a → a", "documentation": { "kind": "markdown", "value": "\n*From: Data.DivisionRing*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "add", "Data.DivisionRing", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "add" }, "sortText": "Z.add", "additionalTextEdits": null, "filterText": null, "insertText": "add", "kind": 12, "label": "add" }, { "detail": "∀ r a z. r → (a → r) → a \\/ z → r", "documentation": { "kind": "markdown", "value": "\n*From: Data.Either.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "at1", "Data.Either.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "at1" }, "sortText": "Z.at1", "additionalTextEdits": null, "filterText": null, "insertText": "at1", "kind": 12, "label": "at1" }, { "detail": "∀ r a b z. r → (b → r) → a \\/ b \\/ z → r", "documentation": { "kind": "markdown", "value": "\n*From: Data.Either.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "at2", "Data.Either.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "at2" }, "sortText": "Z.at2", "additionalTextEdits": null, "filterText": null, "insertText": "at2", "kind": 12, "label": "at2" }, { "detail": "∀ r a b c z. r → (c → r) → a \\/ b \\/ c \\/ z → r", "documentation": { "kind": "markdown", "value": "\n*From: Data.Either.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "at3", "Data.Either.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "at3" }, "sortText": "Z.at3", "additionalTextEdits": null, "filterText": null, "insertText": "at3", "kind": 12, "label": "at3" }, { "detail": "∀ r a b c d z. r → (d → r) → a \\/ b \\/ c \\/ d \\/ z → r", "documentation": { "kind": "markdown", "value": "\n*From: Data.Either.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "at4", "Data.Either.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "at4" }, "sortText": "Z.at4", "additionalTextEdits": null, "filterText": null, "insertText": "at4", "kind": 12, "label": "at4" }, { "detail": "∀ r a b c d e z. r → (e → r) → a \\/ b \\/ c \\/ d \\/ e \\/ z → r", "documentation": { "kind": "markdown", "value": "\n*From: Data.Either.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "at5", "Data.Either.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "at5" }, "sortText": "Z.at5", "additionalTextEdits": null, "filterText": null, "insertText": "at5", "kind": 12, "label": "at5" }, { "detail": "∀ r a b c d e f z. r → (f → r) → a \\/ b \\/ c \\/ d \\/ e \\/ f \\/ z → r", "documentation": { "kind": "markdown", "value": "\n*From: Data.Either.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "at6", "Data.Either.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "at6" }, "sortText": "Z.at6", "additionalTextEdits": null, "filterText": null, "insertText": "at6", "kind": 12, "label": "at6" }, { "detail": "∀ r a b c d e f g z. r → (g → r) → a \\/ b \\/ c \\/ d \\/ e \\/ f \\/ g \\/ z → r", "documentation": { "kind": "markdown", "value": "\n*From: Data.Either.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "at7", "Data.Either.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "at7" }, "sortText": "Z.at7", "additionalTextEdits": null, "filterText": null, "insertText": "at7", "kind": 12, "label": "at7" }, { "detail": "∀ r a b c d e f g h z. r → (h → r) → a \\/ b \\/ c \\/ d \\/ e \\/ f \\/ g \\/ h \\/ z → r", "documentation": { "kind": "markdown", "value": "\n*From: Data.Either.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "at8", "Data.Either.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "at8" }, "sortText": "Z.at8", "additionalTextEdits": null, "filterText": null, "insertText": "at8", "kind": 12, "label": "at8" }, { "detail": "∀ r a b c d e f g h i z. r → (i → r) → a \\/ b \\/ c \\/ d \\/ e \\/ f \\/ g \\/ h \\/ i \\/ z → r", "documentation": { "kind": "markdown", "value": "\n*From: Data.Either.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "at9", "Data.Either.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "at9" }, "sortText": "Z.at9", "additionalTextEdits": null, "filterText": null, "insertText": "at9", "kind": 12, "label": "at9" }, { "detail": "∀ r a b c d e f g h i j z. r → (j → r) → a \\/ b \\/ c \\/ d \\/ e \\/ f \\/ g \\/ h \\/ i \\/ j \\/ z → r", "documentation": { "kind": "markdown", "value": "\n*From: Data.Either.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "at10", "Data.Either.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "at10" }, "sortText": "Z.at10", "additionalTextEdits": null, "filterText": null, "insertText": "at10", "kind": 12, "label": "at10" }, { "detail": "∀ a. Semiring a ⇒ a → a → a", "documentation": { "kind": "markdown", "value": "\n*From: Data.EuclideanRing*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "add", "Data.EuclideanRing", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "add" }, "sortText": "Z.add", "additionalTextEdits": null, "filterText": null, "insertText": "add", "kind": 12, "label": "add" }, { "detail": "∀ a. Semiring a ⇒ a → a → a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Field*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "add", "Data.Field", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "add" }, "sortText": "Z.add", "additionalTextEdits": null, "filterText": null, "insertText": "add", "kind": 12, "label": "add" }, { "detail": "∀ a f. Foldable f ⇒ HeytingAlgebra a ⇒ f a → a", "documentation": { "kind": "markdown", "value": "The conjunction of all the values in a data structure. When specialized\nto `Boolean`, this function will test whether all of the values in a data\nstructure are `true`.\n\n*From: Data.Foldable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "and", "Data.Foldable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "and" }, "sortText": "Z.and", "additionalTextEdits": null, "filterText": null, "insertText": "and", "kind": 12, "label": "and" }, { "detail": "∀ a b f. Foldable f ⇒ HeytingAlgebra b ⇒ (a → b) → f a → b", "documentation": { "kind": "markdown", "value": "`all f` is the same as `and <<< map f`; map a function over the structure,\nand then get the conjunction of the results.\n\n*From: Data.Foldable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "all", "Data.Foldable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "all" }, "sortText": "Z.all", "additionalTextEdits": null, "filterText": null, "insertText": "all", "kind": 12, "label": "all" }, { "detail": "∀ a b f. Foldable f ⇒ HeytingAlgebra b ⇒ (a → b) → f a → b", "documentation": { "kind": "markdown", "value": "`any f` is the same as `or <<< map f`; map a function over the structure,\nand then get the disjunction of the results.\n\n*From: Data.Foldable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "any", "Data.Foldable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "any" }, "sortText": "Z.any", "additionalTextEdits": null, "filterText": null, "insertText": "any", "kind": 12, "label": "any" }, { "detail": "∀ i a b f. FoldableWithIndex i f ⇒ HeytingAlgebra b ⇒ (i → a → b) → f a → b", "documentation": { "kind": "markdown", "value": "`allWithIndex f` is the same as `and <<< mapWithIndex f`; map a function over the\nstructure, and then get the conjunction of the results.\n\n*From: Data.FoldableWithIndex*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "allWithIndex", "Data.FoldableWithIndex", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "allWithIndex" }, "sortText": "Z.allWithIndex", "additionalTextEdits": null, "filterText": null, "insertText": "allWithIndex", "kind": 12, "label": "allWithIndex" }, { "detail": "∀ i a b f. FoldableWithIndex i f ⇒ HeytingAlgebra b ⇒ (i → a → b) → f a → b", "documentation": { "kind": "markdown", "value": "`anyWithIndex f` is the same as `or <<< mapWithIndex f`; map a function over the\nstructure, and then get the disjunction of the results.\n\n*From: Data.FoldableWithIndex*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "anyWithIndex", "Data.FoldableWithIndex", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "anyWithIndex" }, "sortText": "Z.anyWithIndex", "additionalTextEdits": null, "filterText": null, "insertText": "anyWithIndex", "kind": 12, "label": "anyWithIndex" }, { "detail": "∀ a b. (a → b) → a → b", "documentation": { "kind": "markdown", "value": "Applies a function to an argument. This is primarily used as the operator\n`($)` which allows parentheses to be omitted in some cases, or as a\nnatural way to apply a chain of composed functions to a value.\n\n*From: Data.Function*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "apply", "Data.Function", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "apply" }, "sortText": "Z.apply", "additionalTextEdits": null, "filterText": null, "insertText": "apply", "kind": 12, "label": "apply" }, { "detail": "∀ a b. a → (a → b) → b", "documentation": { "kind": "markdown", "value": "Applies an argument to a function. This is primarily used as the `(#)`\noperator, which allows parentheses to be ommitted in some cases, or as a\nnatural way to apply a value to a chain of composed functions.\n\n*From: Data.Function*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "applyFlipped", "Data.Function", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "applyFlipped" }, "sortText": "Z.applyFlipped", "additionalTextEdits": null, "filterText": null, "insertText": "applyFlipped", "kind": 12, "label": "applyFlipped" }, { "detail": "∀ a. (a → a) → Int → a → a", "documentation": { "kind": "markdown", "value": "`applyN f n` applies the function `f` to its argument `n` times.\n\nIf n is less than or equal to 0, the function is not applied.\n\n```purescript\napplyN (_ + 1) 10 0 == 10\n```\n\n*From: Data.Function*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "applyN", "Data.Function", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "applyN" }, "sortText": "Z.applyN", "additionalTextEdits": null, "filterText": null, "insertText": "applyN", "kind": 12, "label": "applyN" }, { "detail": "∀ r x a z. r → (a x → r) → C2 a z x → r", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Coproduct.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "at1", "Data.Functor.Coproduct.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "at1" }, "sortText": "Z.at1", "additionalTextEdits": null, "filterText": null, "insertText": "at1", "kind": 12, "label": "at1" }, { "detail": "∀ r x a b z. r → (b x → r) → C3 a b z x → r", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Coproduct.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "at2", "Data.Functor.Coproduct.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "at2" }, "sortText": "Z.at2", "additionalTextEdits": null, "filterText": null, "insertText": "at2", "kind": 12, "label": "at2" }, { "detail": "∀ r x a b c z. r → (c x → r) → C4 a b c z x → r", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Coproduct.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "at3", "Data.Functor.Coproduct.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "at3" }, "sortText": "Z.at3", "additionalTextEdits": null, "filterText": null, "insertText": "at3", "kind": 12, "label": "at3" }, { "detail": "∀ r x a b c d z. r → (d x → r) → C5 a b c d z x → r", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Coproduct.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "at4", "Data.Functor.Coproduct.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "at4" }, "sortText": "Z.at4", "additionalTextEdits": null, "filterText": null, "insertText": "at4", "kind": 12, "label": "at4" }, { "detail": "∀ r x a b c d e z. r → (e x → r) → C6 a b c d e z x → r", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Coproduct.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "at5", "Data.Functor.Coproduct.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "at5" }, "sortText": "Z.at5", "additionalTextEdits": null, "filterText": null, "insertText": "at5", "kind": 12, "label": "at5" }, { "detail": "∀ r x a b c d e f z. r → (f x → r) → C7 a b c d e f z x → r", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Coproduct.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "at6", "Data.Functor.Coproduct.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "at6" }, "sortText": "Z.at6", "additionalTextEdits": null, "filterText": null, "insertText": "at6", "kind": 12, "label": "at6" }, { "detail": "∀ r x a b c d e f g z. r → (g x → r) → C8 a b c d e f g z x → r", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Coproduct.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "at7", "Data.Functor.Coproduct.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "at7" }, "sortText": "Z.at7", "additionalTextEdits": null, "filterText": null, "insertText": "at7", "kind": 12, "label": "at7" }, { "detail": "∀ r x a b c d e f g h z. r → (h x → r) → C9 a b c d e f g h z x → r", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Coproduct.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "at8", "Data.Functor.Coproduct.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "at8" }, "sortText": "Z.at8", "additionalTextEdits": null, "filterText": null, "insertText": "at8", "kind": 12, "label": "at8" }, { "detail": "∀ r x a b c d e f g h i z. r → (i x → r) → C10 a b c d e f g h i z x → r", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Coproduct.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "at9", "Data.Functor.Coproduct.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "at9" }, "sortText": "Z.at9", "additionalTextEdits": null, "filterText": null, "insertText": "at9", "kind": 12, "label": "at9" }, { "detail": "∀ r x a b c d e f g h i j z. r → (j x → r) → C11 a b c d e f g h i j z x → r", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Coproduct.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "at10", "Data.Functor.Coproduct.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "at10" }, "sortText": "Z.at10", "additionalTextEdits": null, "filterText": null, "insertText": "at10", "kind": 12, "label": "at10" }, { "detail": "Int → Int → Int", "documentation": { "kind": "markdown", "value": "Bitwise AND.\n\n*From: Data.Int.Bits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "and", "Data.Int.Bits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "and" }, "sortText": "Z.and", "additionalTextEdits": null, "filterText": null, "insertText": "and", "kind": 12, "label": "and" }, { "detail": "∀ a. Int → (a → Maybe a) → List a → Maybe (List a)", "documentation": { "kind": "markdown", "value": "Update or delete the element at the specified index by applying a\nfunction to the current value, returning a new list or `Nothing` if the\nindex is out-of-bounds.\n\nRunning time: `O(n)`\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "alterAt", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "alterAt" }, "sortText": "Z.alterAt", "additionalTextEdits": null, "filterText": null, "insertText": "alterAt", "kind": 12, "label": "alterAt" }, { "detail": "∀ a b f. Foldable f ⇒ HeytingAlgebra b ⇒ (a → b) → f a → b", "documentation": { "kind": "markdown", "value": "`all f` is the same as `and <<< map f`; map a function over the structure,\nand then get the conjunction of the results.\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "all", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "all" }, "sortText": "Z.all", "additionalTextEdits": null, "filterText": null, "insertText": "all", "kind": 12, "label": "all" }, { "detail": "∀ a b f. Foldable f ⇒ HeytingAlgebra b ⇒ (a → b) → f a → b", "documentation": { "kind": "markdown", "value": "`any f` is the same as `or <<< map f`; map a function over the structure,\nand then get the disjunction of the results.\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "any", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "any" }, "sortText": "Z.any", "additionalTextEdits": null, "filterText": null, "insertText": "any", "kind": 12, "label": "any" }, { "detail": "∀ a. Int → (a → Maybe a) → List a → List a", "documentation": { "kind": "markdown", "value": "Update or delete the element at the specified index by applying a\nfunction to the current value, returning a new list or `Nothing` if the\nindex is out-of-bounds.\n\nThis function differs from the strict equivalent in that out-of-bounds arguments\nresult in the original list being returned unchanged.\n\nRunning time: `O(n)`\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "alterAt", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "alterAt" }, "sortText": "Z.alterAt", "additionalTextEdits": null, "filterText": null, "insertText": "alterAt", "kind": 12, "label": "alterAt" }, { "detail": "∀ a b f. Foldable f ⇒ HeytingAlgebra b ⇒ (a → b) → f a → b", "documentation": { "kind": "markdown", "value": "`all f` is the same as `and <<< map f`; map a function over the structure,\nand then get the conjunction of the results.\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "all", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "all" }, "sortText": "Z.all", "additionalTextEdits": null, "filterText": null, "insertText": "all", "kind": 12, "label": "all" }, { "detail": "∀ a b f. Foldable f ⇒ HeytingAlgebra b ⇒ (a → b) → f a → b", "documentation": { "kind": "markdown", "value": "`any f` is the same as `or <<< map f`; map a function over the structure,\nand then get the disjunction of the results.\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "any", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "any" }, "sortText": "Z.any", "additionalTextEdits": null, "filterText": null, "insertText": "any", "kind": 12, "label": "any" }, { "detail": "∀ t a. Foldable t ⇒ NonEmptyList a → t a → NonEmptyList a", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.Lazy.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "appendFoldable", "Data.List.Lazy.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "appendFoldable" }, "sortText": "Z.appendFoldable", "additionalTextEdits": null, "filterText": null, "insertText": "appendFoldable", "kind": 12, "label": "appendFoldable" }, { "detail": "∀ t a. Foldable t ⇒ NonEmptyList a → t a → NonEmptyList a", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "appendFoldable", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "appendFoldable" }, "sortText": "Z.appendFoldable", "additionalTextEdits": null, "filterText": null, "insertText": "appendFoldable", "kind": 12, "label": "appendFoldable" }, { "detail": "∀ a b f. Foldable f ⇒ HeytingAlgebra b ⇒ (a → b) → f a → b", "documentation": { "kind": "markdown", "value": "`all f` is the same as `and <<< map f`; map a function over the structure,\nand then get the conjunction of the results.\n\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "all", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "all" }, "sortText": "Z.all", "additionalTextEdits": null, "filterText": null, "insertText": "all", "kind": 12, "label": "all" }, { "detail": "∀ a b f. Foldable f ⇒ HeytingAlgebra b ⇒ (a → b) → f a → b", "documentation": { "kind": "markdown", "value": "`any f` is the same as `or <<< map f`; map a function over the structure,\nand then get the disjunction of the results.\n\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "any", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "any" }, "sortText": "Z.any", "additionalTextEdits": null, "filterText": null, "insertText": "any", "kind": 12, "label": "any" }, { "detail": "∀ k v. Ord k ⇒ (Maybe v → Maybe v) → k → Map k v → Map k v", "documentation": { "kind": "markdown", "value": "Insert the value, delete a value, or update a value for a key in a map\n\n*From: Data.Map*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "alter", "Data.Map", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "alter" }, "sortText": "Z.alter", "additionalTextEdits": null, "filterText": null, "insertText": "alter", "kind": 12, "label": "alter" }, { "detail": "∀ k v. Ord k ⇒ (Maybe v → Maybe v) → k → Map k v → Map k v", "documentation": { "kind": "markdown", "value": "Insert the value, delete a value, or update a value for a key in a map\n\n*From: Data.Map.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "alter", "Data.Map.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "alter" }, "sortText": "Z.alter", "additionalTextEdits": null, "filterText": null, "insertText": "alter", "kind": 12, "label": "alter" }, { "detail": "∀ f t a s b. Functor f ⇒ Newtype t a ⇒ Newtype s b ⇒ (a → t) → ((b → s) → f t) → f a", "documentation": { "kind": "markdown", "value": "This combinator is for when you have a higher order function that you want\nto use in the context of some newtype - `foldMap` being a common example:\n\n``` purescript\nala Additive foldMap [1,2,3,4] -- 10\nala Multiplicative foldMap [1,2,3,4] -- 24\nala Conj foldMap [true, false] -- false\nala Disj foldMap [true, false] -- true\n```\n\n*From: Data.Newtype*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "ala", "Data.Newtype", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "ala" }, "sortText": "Z.ala", "additionalTextEdits": null, "filterText": null, "insertText": "ala", "kind": 12, "label": "ala" }, { "detail": "∀ f g t a s b. Functor f ⇒ Functor g ⇒ Newtype t a ⇒ Newtype s b ⇒ (a → t) → (f t → g s) → f a → g b", "documentation": { "kind": "markdown", "value": "Similar to `ala` but useful for cases where you want to use an additional\nprojection with the higher order function:\n\n``` purescript\nalaF Additive foldMap String.length [\"hello\", \"world\"] -- 10\nalaF Multiplicative foldMap Math.abs [1.0, -2.0, 3.0, -4.0] -- 24.0\n```\n\nThe type admits other possibilities due to the polymorphic `Functor`\nconstraints, but the case described above works because ((->) a) is a\n`Functor`.\n\n*From: Data.Newtype*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "alaF", "Data.Newtype", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "alaF" }, "sortText": "Z.alaF", "additionalTextEdits": null, "filterText": null, "insertText": "alaF", "kind": 12, "label": "alaF" }, { "detail": "∀ a. Ord a ⇒ Ring a ⇒ a → a", "documentation": { "kind": "markdown", "value": "The absolute value function. `abs x` is defined as `if x >= zero then x\nelse negate x`.\n\n*From: Data.Ord*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "abs", "Data.Ord", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "abs" }, "sortText": "Z.abs", "additionalTextEdits": null, "filterText": null, "insertText": "abs", "kind": 12, "label": "abs" }, { "detail": "∀ a. Semiring a ⇒ a → a → a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Ring*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "add", "Data.Ring", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "add" }, "sortText": "Z.add", "additionalTextEdits": null, "filterText": null, "insertText": "add", "kind": 12, "label": "add" }, { "detail": "∀ a. Semigroup a ⇒ a → a → a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Semigroup*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "append", "Data.Semigroup", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "append" }, "sortText": "Z.append", "additionalTextEdits": null, "filterText": null, "insertText": "append", "kind": 12, "label": "append" }, { "detail": "∀ subrow row rowlist. SemigroupRecord rowlist row subrow ⇒ RLProxy rowlist → Record row → Record row → Record subrow", "documentation": { "kind": "markdown", "value": "\n*From: Data.Semigroup*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "appendRecord", "Data.Semigroup", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "appendRecord" }, "sortText": "Z.appendRecord", "additionalTextEdits": null, "filterText": null, "insertText": "appendRecord", "kind": 12, "label": "appendRecord" }, { "detail": "∀ a. Semiring a ⇒ a → a → a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Semiring*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "add", "Data.Semiring", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "add" }, "sortText": "Z.add", "additionalTextEdits": null, "filterText": null, "insertText": "add", "kind": 12, "label": "add" }, { "detail": "∀ subrow row rowlist. SemiringRecord rowlist row subrow ⇒ RLProxy rowlist → Record row → Record row → Record subrow", "documentation": { "kind": "markdown", "value": "\n*From: Data.Semiring*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "addRecord", "Data.Semiring", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "addRecord" }, "sortText": "Z.addRecord", "additionalTextEdits": null, "filterText": null, "insertText": "addRecord", "kind": 12, "label": "addRecord" }, { "detail": "NonEmptyString → String → NonEmptyString", "documentation": { "kind": "markdown", "value": "Appends a string to this non-empty string. Since one of the strings is\nnon-empty we know the result will be too.\n\n```purescript\nappendString (NonEmptyString \"Hello\") \" world\" == NonEmptyString \"Hello world\"\nappendString (NonEmptyString \"Hello\") \"\" == NonEmptyString \"Hello\"\n```\n\n*From: Data.String.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "appendString", "Data.String.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "appendString" }, "sortText": "Z.appendString", "additionalTextEdits": null, "filterText": null, "insertText": "appendString", "kind": 12, "label": "appendString" }, { "detail": "NonEmptyString → String → NonEmptyString", "documentation": { "kind": "markdown", "value": "Appends a string to this non-empty string. Since one of the strings is\nnon-empty we know the result will be too.\n\n```purescript\nappendString (NonEmptyString \"Hello\") \" world\" == NonEmptyString \"Hello world\"\nappendString (NonEmptyString \"Hello\") \"\" == NonEmptyString \"Hello\"\n```\n\n*From: Data.String.NonEmpty.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "appendString", "Data.String.NonEmpty.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "appendString" }, "sortText": "Z.appendString", "additionalTextEdits": null, "filterText": null, "insertText": "appendString", "kind": 12, "label": "appendString" }, { "detail": "∀ d. Duration d ⇒ d → Time → Tuple Days Time", "documentation": { "kind": "markdown", "value": "Adjusts a time value with a duration offset. The result includes a\nremainder value of the whole number of days involved in the adjustment,\nfor example, if a time of 23:00:00:00 has a duration of +2 hours added to\nit, the result will be 1 day, and 01:00:00:00. Correspondingly, if the\nduration is negative, a negative number of days may also be returned as\nthe remainder.\n\n*From: Data.Time*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "adjust", "Data.Time", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "adjust" }, "sortText": "Z.adjust", "additionalTextEdits": null, "filterText": null, "insertText": "adjust", "kind": 12, "label": "adjust" }, { "detail": "∀ a b f. Foldable f ⇒ HeytingAlgebra b ⇒ (a → b) → f a → b", "documentation": { "kind": "markdown", "value": "`all f` is the same as `and <<< map f`; map a function over the structure,\nand then get the conjunction of the results.\n\n*From: Data.Traversable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "all", "Data.Traversable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "all" }, "sortText": "Z.all", "additionalTextEdits": null, "filterText": null, "insertText": "all", "kind": 12, "label": "all" }, { "detail": "∀ a f. Foldable f ⇒ HeytingAlgebra a ⇒ f a → a", "documentation": { "kind": "markdown", "value": "The conjunction of all the values in a data structure. When specialized\nto `Boolean`, this function will test whether all of the values in a data\nstructure are `true`.\n\n*From: Data.Traversable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "and", "Data.Traversable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "and" }, "sortText": "Z.and", "additionalTextEdits": null, "filterText": null, "insertText": "and", "kind": 12, "label": "and" }, { "detail": "∀ a b f. Foldable f ⇒ HeytingAlgebra b ⇒ (a → b) → f a → b", "documentation": { "kind": "markdown", "value": "`any f` is the same as `or <<< map f`; map a function over the structure,\nand then get the disjunction of the results.\n\n*From: Data.Traversable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "any", "Data.Traversable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "any" }, "sortText": "Z.any", "additionalTextEdits": null, "filterText": null, "insertText": "any", "kind": 12, "label": "any" }, { "detail": "∀ a. Void → a", "documentation": { "kind": "markdown", "value": "Eliminator for the `Void` type.\nUseful for stating that some code branch is impossible because you've\n\"acquired\" a value of type `Void` (which you can't).\n\n```purescript\nrightOnly :: forall t . Either Void t -> t\nrightOnly (Left v) = absurd v\nrightOnly (Right t) = t\n```\n\n*From: Data.Void*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "absurd", "Data.Void", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "absurd" }, "sortText": "Z.absurd", "additionalTextEdits": null, "filterText": null, "insertText": "absurd", "kind": 12, "label": "absurd" }, { "detail": "∀ a. Aff a → Aff (Either Error a)", "documentation": { "kind": "markdown", "value": "A monomorphic version of `try`. Catches thrown errors and lifts them\ninto an `Either`.\n\n*From: Effect.Aff*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "attempt", "Effect.Aff", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "attempt" }, "sortText": "Z.attempt", "additionalTextEdits": null, "filterText": null, "insertText": "attempt", "kind": 12, "label": "attempt" }, { "detail": "∀ a. Aff a → Aff Unit", "documentation": { "kind": "markdown", "value": "Ignores any errors.\n\n*From: Effect.Aff*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "apathize", "Effect.Aff", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "apathize" }, "sortText": "Z.apathize", "additionalTextEdits": null, "filterText": null, "insertText": "apathize", "kind": 12, "label": "apathize" }, { "detail": "Number → Number", "documentation": { "kind": "markdown", "value": "Returns the absolute value of the argument.\n\n*From: Math*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "abs", "Math", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "abs" }, "sortText": "Z.abs", "additionalTextEdits": null, "filterText": null, "insertText": "abs", "kind": 12, "label": "abs" }, { "detail": "Number → Radians", "documentation": { "kind": "markdown", "value": "Returns the inverse cosine of the argument.\n\n*From: Math*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "acos", "Math", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "acos" }, "sortText": "Z.acos", "additionalTextEdits": null, "filterText": null, "insertText": "acos", "kind": 12, "label": "acos" }, { "detail": "Number → Radians", "documentation": { "kind": "markdown", "value": "Returns the inverse sine of the argument.\n\n*From: Math*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "asin", "Math", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "asin" }, "sortText": "Z.asin", "additionalTextEdits": null, "filterText": null, "insertText": "asin", "kind": 12, "label": "asin" }, { "detail": "Number → Radians", "documentation": { "kind": "markdown", "value": "Returns the inverse tangent of the argument.\n\n*From: Math*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "atan", "Math", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "atan" }, "sortText": "Z.atan", "additionalTextEdits": null, "filterText": null, "insertText": "atan", "kind": 12, "label": "atan" }, { "detail": "Number → Number → Radians", "documentation": { "kind": "markdown", "value": "Four-quadrant tangent inverse. Given the arguments `y` and `x`, returns\nthe inverse tangent of `y / x`, where the signs of both arguments are used\nto determine the sign of the result.\nIf the first argument is negative, the result will be negative.\nThe result is the angle between the positive x axis and a point `(x, y)`.\n\n*From: Math*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "atan2", "Math", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "atan2" }, "sortText": "Z.atan2", "additionalTextEdits": null, "filterText": null, "insertText": "atan2", "kind": 12, "label": "atan2" }, { "detail": "FilePath → Buffer → Callback Unit → Effect Unit", "documentation": { "kind": "markdown", "value": "Appends the contents of a buffer to a file.\n\n*From: Node.FS.Async*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "appendFile", "Node.FS.Async", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "appendFile" }, "sortText": "Z.appendFile", "additionalTextEdits": null, "filterText": null, "insertText": "appendFile", "kind": 12, "label": "appendFile" }, { "detail": "Encoding → FilePath → String → Callback Unit → Effect Unit", "documentation": { "kind": "markdown", "value": "Appends text to a file using the specified encoding.\n\n*From: Node.FS.Async*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "appendTextFile", "Node.FS.Async", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "appendTextFile" }, "sortText": "Z.appendTextFile", "additionalTextEdits": null, "filterText": null, "insertText": "appendTextFile", "kind": 12, "label": "appendTextFile" }, { "detail": "Perm", "documentation": { "kind": "markdown", "value": "All permissions: readable, writable, and executable. This is the identity\nof the `Semiring` operation `(*)` for `Perm`; that is, it is the same as\n`one`.\n\n*From: Node.FS.Perms*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "all", "Node.FS.Perms", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "all" }, "sortText": "Z.all", "additionalTextEdits": null, "filterText": null, "insertText": "all", "kind": 12, "label": "all" }, { "detail": "Stats → DateTime", "documentation": { "kind": "markdown", "value": "\n*From: Node.FS.Stats*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "accessedTime", "Node.FS.Stats", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "accessedTime" }, "sortText": "Z.accessedTime", "additionalTextEdits": null, "filterText": null, "insertText": "accessedTime", "kind": 12, "label": "accessedTime" }, { "detail": "FilePath → Buffer → Effect Unit", "documentation": { "kind": "markdown", "value": "Appends the contents of a buffer to a file.\n\n*From: Node.FS.Sync*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "appendFile", "Node.FS.Sync", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "appendFile" }, "sortText": "Z.appendFile", "additionalTextEdits": null, "filterText": null, "insertText": "appendFile", "kind": 12, "label": "appendFile" }, { "detail": "Encoding → FilePath → String → Effect Unit", "documentation": { "kind": "markdown", "value": "Appends text to a file using the specified encoding.\n\n*From: Node.FS.Sync*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "appendTextFile", "Node.FS.Sync", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "appendTextFile" }, "sortText": "Z.appendTextFile", "additionalTextEdits": null, "filterText": null, "insertText": "appendTextFile", "kind": 12, "label": "appendTextFile" }, { "detail": "∀ a m. Monad m ⇒ Consumer_ a m a", "documentation": { "kind": "markdown", "value": "\n*From: Pipes*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "await", "Pipes", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "await" }, "sortText": "Z.await", "additionalTextEdits": null, "filterText": null, "insertText": "await", "kind": 12, "label": "await" }, { "detail": "∀ a m. Monad m ⇒ (a → Boolean) → Producer a m Unit → m Boolean", "documentation": { "kind": "markdown", "value": "all determines whether all the elements of p satisfy the predicate.\n\n*From: Pipes.Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "all", "Pipes.Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "all" }, "sortText": "Z.all", "additionalTextEdits": null, "filterText": null, "insertText": "all", "kind": 12, "label": "all" }, { "detail": "∀ a m. Monad m ⇒ (a → Boolean) → Producer a m Unit → m Boolean", "documentation": { "kind": "markdown", "value": "any determines whether any element of p satisfies the predicate.\n\n*From: Pipes.Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "any", "Pipes.Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "any" }, "sortText": "Z.any", "additionalTextEdits": null, "filterText": null, "insertText": "any", "kind": 12, "label": "any" }, { "detail": "∀ m. Monad m ⇒ Producer Boolean m Unit → m Boolean", "documentation": { "kind": "markdown", "value": "Determines whether all elements are `True`\n\n*From: Pipes.Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "and", "Pipes.Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "and" }, "sortText": "Z.and", "additionalTextEdits": null, "filterText": null, "insertText": "and", "kind": 12, "label": "and" }, { "detail": "∀ a. Void → a", "documentation": { "kind": "markdown", "value": "Eliminator for the `Void` type.\nUseful for stating that some code branch is impossible because you've\n\"acquired\" a value of type `Void` (which you can't).\n\n```purescript\nrightOnly :: forall t . Either Void t -> t\nrightOnly (Left v) = absurd v\nrightOnly (Right t) = t\n```\n\n*From: Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "absurd", "Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "absurd" }, "sortText": "Z.absurd", "additionalTextEdits": null, "filterText": null, "insertText": "absurd", "kind": 12, "label": "absurd" }, { "detail": "∀ a. Semiring a ⇒ a → a → a", "documentation": { "kind": "markdown", "value": "\n*From: Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "add", "Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "add" }, "sortText": "Z.add", "additionalTextEdits": null, "filterText": null, "insertText": "add", "kind": 12, "label": "add" }, { "detail": "∀ m a b. Monad m ⇒ m (a → b) → m a → m b", "documentation": { "kind": "markdown", "value": "`ap` provides a default implementation of `(<*>)` for any\n[`Monad`](#monad), without using `(<*>)` as provided by the\n[`Apply`](#apply)-[`Monad`](#monad) superclass relationship.\n\n`ap` can therefore be used to write [`Apply`](#apply) instances as\nfollows:\n\n```purescript\ninstance applyF :: Apply F where\n apply = ap\n```\n\n*From: Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "ap", "Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "ap" }, "sortText": "Z.ap", "additionalTextEdits": null, "filterText": null, "insertText": "ap", "kind": 12, "label": "ap" }, { "detail": "∀ a. Semigroup a ⇒ a → a → a", "documentation": { "kind": "markdown", "value": "\n*From: Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "append", "Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "append" }, "sortText": "Z.append", "additionalTextEdits": null, "filterText": null, "insertText": "append", "kind": 12, "label": "append" }, { "detail": "∀ a b f. Apply f ⇒ f (a → b) → f a → f b", "documentation": { "kind": "markdown", "value": "\n*From: Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "apply", "Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "apply" }, "sortText": "Z.apply", "additionalTextEdits": null, "filterText": null, "insertText": "apply", "kind": 12, "label": "apply" }, { "detail": "∀ a. Eq a ⇒ Show a ⇒ a → a → Result", "documentation": { "kind": "markdown", "value": "Self-documenting equality assertion\n\n*From: Test.QuickCheck*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "assertEquals", "Test.QuickCheck", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "assertEquals" }, "sortText": "Z.assertEquals", "additionalTextEdits": null, "filterText": null, "insertText": "assertEquals", "kind": 12, "label": "assertEquals" }, { "detail": "∀ a. Eq a ⇒ Show a ⇒ a → a → Result", "documentation": { "kind": "markdown", "value": "Self-documenting inequality assertion\n\n*From: Test.QuickCheck*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "assertNotEquals", "Test.QuickCheck", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "assertNotEquals" }, "sortText": "Z.assertNotEquals", "additionalTextEdits": null, "filterText": null, "insertText": "assertNotEquals", "kind": 12, "label": "assertNotEquals" }, { "detail": "∀ a. Ord a ⇒ Show a ⇒ a → a → Result", "documentation": { "kind": "markdown", "value": "\n*From: Test.QuickCheck*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "assertLessThan", "Test.QuickCheck", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "assertLessThan" }, "sortText": "Z.assertLessThan", "additionalTextEdits": null, "filterText": null, "insertText": "assertLessThan", "kind": 12, "label": "assertLessThan" }, { "detail": "∀ a. Ord a ⇒ Show a ⇒ a → a → Result", "documentation": { "kind": "markdown", "value": "\n*From: Test.QuickCheck*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "assertLessThanEq", "Test.QuickCheck", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "assertLessThanEq" }, "sortText": "Z.assertLessThanEq", "additionalTextEdits": null, "filterText": null, "insertText": "assertLessThanEq", "kind": 12, "label": "assertLessThanEq" }, { "detail": "∀ a. Ord a ⇒ Show a ⇒ a → a → Result", "documentation": { "kind": "markdown", "value": "\n*From: Test.QuickCheck*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "assertGreaterThan", "Test.QuickCheck", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "assertGreaterThan" }, "sortText": "Z.assertGreaterThan", "additionalTextEdits": null, "filterText": null, "insertText": "assertGreaterThan", "kind": 12, "label": "assertGreaterThan" }, { "detail": "∀ a. Ord a ⇒ Show a ⇒ a → a → Result", "documentation": { "kind": "markdown", "value": "\n*From: Test.QuickCheck*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "assertGreaterThanEq", "Test.QuickCheck", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "assertGreaterThanEq" }, "sortText": "Z.assertGreaterThanEq", "additionalTextEdits": null, "filterText": null, "insertText": "assertGreaterThanEq", "kind": 12, "label": "assertGreaterThanEq" }, { "detail": "∀ t. Arbitrary t ⇒ Gen t", "documentation": { "kind": "markdown", "value": "\n*From: Test.QuickCheck*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "arbitrary", "Test.QuickCheck", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "arbitrary" }, "sortText": "Z.arbitrary", "additionalTextEdits": null, "filterText": null, "insertText": "arbitrary", "kind": 12, "label": "arbitrary" }, { "detail": "∀ t. Arbitrary t ⇒ Gen t", "documentation": { "kind": "markdown", "value": "\n*From: Test.QuickCheck.Arbitrary*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "arbitrary", "Test.QuickCheck.Arbitrary", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "arbitrary" }, "sortText": "Z.arbitrary", "additionalTextEdits": null, "filterText": null, "insertText": "arbitrary", "kind": 12, "label": "arbitrary" }, { "detail": "∀ t. ArbitraryGenericSum t ⇒ Array (Gen t)", "documentation": { "kind": "markdown", "value": "\n*From: Test.QuickCheck.Arbitrary*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "arbitraryGenericSum", "Test.QuickCheck.Arbitrary", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "arbitraryGenericSum" }, "sortText": "Z.arbitraryGenericSum", "additionalTextEdits": null, "filterText": null, "insertText": "arbitraryGenericSum", "kind": 12, "label": "arbitraryGenericSum" }, { "detail": "∀ row list. ArbitraryRowList list row ⇒ RLProxy list → Gen (Record row)", "documentation": { "kind": "markdown", "value": "\n*From: Test.QuickCheck.Arbitrary*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "arbitraryRecord", "Test.QuickCheck.Arbitrary", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "arbitraryRecord" }, "sortText": "Z.arbitraryRecord", "additionalTextEdits": null, "filterText": null, "insertText": "arbitraryRecord", "kind": 12, "label": "arbitraryRecord" }, { "detail": "∀ a. Gen a → Gen (Array a)", "documentation": { "kind": "markdown", "value": "Create a random generator which generates an array of random values.\n\n*From: Test.QuickCheck.Gen*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "arrayOf", "Test.QuickCheck.Gen", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "arrayOf" }, "sortText": "Z.arrayOf", "additionalTextEdits": null, "filterText": null, "insertText": "arrayOf", "kind": 12, "label": "arrayOf" }, { "detail": "∀ a. Gen a → Gen (NonEmpty Array a)", "documentation": { "kind": "markdown", "value": "Create a random generator which generates a non-empty array of random values.\n\n*From: Test.QuickCheck.Gen*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "arrayOf1", "Test.QuickCheck.Gen", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "arrayOf1" }, "sortText": "Z.arrayOf1", "additionalTextEdits": null, "filterText": null, "insertText": "arrayOf1", "kind": 12, "label": "arrayOf1" }, { "detail": "∀ m g i i' a. Monad m ⇒ (ActionWith g i → ActionWith g i') → SpecT g i m a → SpecT g i' m a", "documentation": { "kind": "markdown", "value": "Run a custom action before and/or after every spec item.\n\n*From: Test.Spec*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "aroundWith", "Test.Spec", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "aroundWith" }, "sortText": "Z.aroundWith", "additionalTextEdits": null, "filterText": null, "insertText": "aroundWith", "kind": 12, "label": "aroundWith" }, { "detail": "∀ m g i a. Monad m ⇒ (ActionWith g i → g Unit) → SpecT g i m a → SpecT g Unit m a", "documentation": { "kind": "markdown", "value": "Run a custom action before and/or after every spec item.\n\n*From: Test.Spec*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "around", "Test.Spec", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "around" }, "sortText": "Z.around", "additionalTextEdits": null, "filterText": null, "insertText": "around", "kind": 12, "label": "around" }, { "detail": "∀ m g i a. Monad m ⇒ (g Unit → g Unit) → SpecT g i m a → SpecT g i m a", "documentation": { "kind": "markdown", "value": "Run a custom action before and/or after every spec item.\n\n*From: Test.Spec*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "around_", "Test.Spec", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "around_" }, "sortText": "Z.around_", "additionalTextEdits": null, "filterText": null, "insertText": "around_", "kind": 12, "label": "around_" }, { "detail": "∀ m g e f i a. Monad m ⇒ MonadBracket e f g ⇒ ActionWith g i → SpecT g i m a → SpecT g i m a", "documentation": { "kind": "markdown", "value": "Run a custom action after every spec item.\n\n*From: Test.Spec*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "after", "Test.Spec", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "after" }, "sortText": "Z.after", "additionalTextEdits": null, "filterText": null, "insertText": "after", "kind": 12, "label": "after" }, { "detail": "∀ m g e f i a. Monad m ⇒ MonadBracket e f g ⇒ g Unit → SpecT g i m a → SpecT g i m a", "documentation": { "kind": "markdown", "value": "Run a custom action after every spec item.\n\n*From: Test.Spec*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "after_", "Test.Spec", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "after_" }, "sortText": "Z.after_", "additionalTextEdits": null, "filterText": null, "insertText": "after_", "kind": 12, "label": "after_" }, { "detail": "∀ m g i a. Monad m ⇒ ActionWith g i → SpecT g i m a → SpecT g i m a", "documentation": { "kind": "markdown", "value": "Run a custom action after the last spec item.\n\n*From: Test.Spec*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "afterAll", "Test.Spec", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "afterAll" }, "sortText": "Z.afterAll", "additionalTextEdits": null, "filterText": null, "insertText": "afterAll", "kind": 12, "label": "afterAll" }, { "detail": "∀ m g i a. Monad m ⇒ g Unit → SpecT g i m a → SpecT g i m a", "documentation": { "kind": "markdown", "value": "Run a custom action after the last spec item.\n\n*From: Test.Spec*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "afterAll_", "Test.Spec", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 35, "line": 9 }, "end": { "line": 9, "character": 36 } }, "newText": "afterAll_" }, "sortText": "Z.afterAll_", "additionalTextEdits": null, "filterText": null, "insertText": "afterAll_", "kind": 12, "label": "afterAll_" } ], "isIncomplete": false } [Trace - 4:17:03 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 80 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec)\n\nspec :: Spec Unit\nspec = describe \"Problems\" do\n describe \"Problem 1\" do\n it \"returns correct result\" $ add \n" } ] } [Trace - 4:17:03 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 81 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec)\n\nspec :: Spec Unit\nspec = describe \"Problems\" do\n describe \"Problem 1\" do\n it \"returns correct result\" $ add 1\n" } ] } [Trace - 4:17:03 PM] Sending request 'textDocument/completion - (43)'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" }, "position": { "line": 9, "character": 40 }, "context": { "triggerKind": 1 } } [Trace - 4:17:03 PM] Received notification 'window/logMessage'. Params: { "type": 3, "message": "[Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead\n" } [Info - 4:17:03 PM] [Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead [Trace - 4:17:03 PM] Received response 'textDocument/completion - (43)' in 7ms. Result: { "items": [], "isIncomplete": false } [Trace - 4:17:03 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 82 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec)\n\nspec :: Spec Unit\nspec = describe \"Problems\" do\n describe \"Problem 1\" do\n it \"returns correct result\" $ add 1 2\n" } ] } [Trace - 4:17:03 PM] Sending request 'textDocument/completion - (44)'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" }, "position": { "line": 9, "character": 42 }, "context": { "triggerKind": 1 } } [Trace - 4:17:03 PM] Received notification 'window/logMessage'. Params: { "type": 3, "message": "[Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead\n" } [Info - 4:17:03 PM] [Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead [Trace - 4:17:03 PM] Received response 'textDocument/completion - (44)' in 10ms. Result: { "items": [], "isIncomplete": false } [Trace - 4:17:03 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 83 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec)\n\nspec :: Spec Unit\nspec = describe \"Problems\" do\n describe \"Problem 1\" do\n it \"returns correct result\" $ add 1 2 \n" } ] } [Trace - 4:17:04 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 84 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec)\n\nspec :: Spec Unit\nspec = describe \"Problems\" do\n describe \"Problem 1\" do\n it \"returns correct result\" $ add 1 2 `\n" } ] } [Trace - 4:17:04 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 85 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec)\n\nspec :: Spec Unit\nspec = describe \"Problems\" do\n describe \"Problem 1\" do\n it \"returns correct result\" $ add 1 2 `s\n" } ] } [Trace - 4:17:04 PM] Sending request 'textDocument/completion - (45)'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" }, "position": { "line": 9, "character": 45 }, "context": { "triggerKind": 1 } } [Trace - 4:17:04 PM] Received notification 'window/logMessage'. Params: { "type": 3, "message": "[Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead\n" } [Info - 4:17:04 PM] [Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead [Trace - 4:17:04 PM] Received response 'textDocument/completion - (45)' in 46ms. Result: { "items": [ { "detail": "NonEmptyList GraphicsParam", "documentation": { "kind": "markdown", "value": "\n*From: Ansi.Output*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "strikethrough", "Ansi.Output", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "strikethrough" }, "sortText": "Z.strikethrough", "additionalTextEdits": null, "filterText": null, "insertText": "strikethrough", "kind": 12, "label": "strikethrough" }, { "detail": "∀ s a. (s → a) → s → Store s a", "documentation": { "kind": "markdown", "value": "Create a value in context in the `Store` comonad.\n\n*From: Control.Comonad.Store*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "store", "Control.Comonad.Store", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "store" }, "sortText": "Z.store", "additionalTextEdits": null, "filterText": null, "insertText": "store", "kind": 12, "label": "store" }, { "detail": "∀ s a w. ComonadStore s w ⇒ s → w a → w a", "documentation": { "kind": "markdown", "value": "Reposition the focus at the specified position.\n\n*From: Control.Comonad.Store*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "seek", "Control.Comonad.Store", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "seek" }, "sortText": "Z.seek", "additionalTextEdits": null, "filterText": null, "insertText": "seek", "kind": 12, "label": "seek" }, { "detail": "∀ s a w. ComonadStore s w ⇒ (s → s) → w a → w a", "documentation": { "kind": "markdown", "value": "Reposition the focus at the specified position, which depends on the current position.\n\n*From: Control.Comonad.Store*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "seeks", "Control.Comonad.Store", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "seeks" }, "sortText": "Z.seeks", "additionalTextEdits": null, "filterText": null, "insertText": "seeks", "kind": 12, "label": "seeks" }, { "detail": "∀ s a w. ComonadStore s w ⇒ s → w a → w a", "documentation": { "kind": "markdown", "value": "Reposition the focus at the specified position.\n\n*From: Control.Comonad.Store.Class*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "seek", "Control.Comonad.Store.Class", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "seek" }, "sortText": "Z.seek", "additionalTextEdits": null, "filterText": null, "insertText": "seek", "kind": 12, "label": "seek" }, { "detail": "∀ s a w. ComonadStore s w ⇒ (s → s) → w a → w a", "documentation": { "kind": "markdown", "value": "Reposition the focus at the specified position, which depends on the current position.\n\n*From: Control.Comonad.Store.Class*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "seeks", "Control.Comonad.Store.Class", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "seeks" }, "sortText": "Z.seeks", "additionalTextEdits": null, "filterText": null, "insertText": "seeks", "kind": 12, "label": "seeks" }, { "detail": "∀ a m f. MonadFork f m ⇒ m a → m (f a)", "documentation": { "kind": "markdown", "value": "\n*From: Control.Monad.Fork.Class*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "suspend", "Control.Monad.Fork.Class", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "suspend" }, "sortText": "Z.suspend", "additionalTextEdits": null, "filterText": null, "insertText": "suspend", "kind": 12, "label": "suspend" }, { "detail": "∀ f. Applicative f ⇒ Free f ~> Free f", "documentation": { "kind": "markdown", "value": "Suspend a value given the applicative functor `f` into the free monad.\n\n*From: Control.Monad.Free*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "suspendF", "Control.Monad.Free", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "suspendF" }, "sortText": "Z.suspendF", "additionalTextEdits": null, "filterText": null, "insertText": "suspendF", "kind": 12, "label": "suspendF" }, { "detail": "∀ f g. (f ~> Free g) → Free f ~> Free g", "documentation": { "kind": "markdown", "value": "Like `foldFree`, but for folding into some other Free monad without the\noverhead that `MonadRec` incurs.\n\n*From: Control.Monad.Free*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "substFree", "Control.Monad.Free", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "substFree" }, "sortText": "Z.substFree", "additionalTextEdits": null, "filterText": null, "insertText": "substFree", "kind": 12, "label": "substFree" }, { "detail": "∀ m a. MonadRec m ⇒ MonadGen m ⇒ m a → (a → Boolean) → m a", "documentation": { "kind": "markdown", "value": "Creates a generator that repeatedly run another generator until its output\nmatches a given predicate. This will never halt if the predicate always\nfails.\n\n*From: Control.Monad.Gen*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "suchThat", "Control.Monad.Gen", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "suchThat" }, "sortText": "Z.suchThat", "additionalTextEdits": null, "filterText": null, "insertText": "suchThat", "kind": 12, "label": "suchThat" }, { "detail": "∀ a m. MonadGen m ⇒ (Int → m a) → m a", "documentation": { "kind": "markdown", "value": "\n*From: Control.Monad.Gen*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sized", "Control.Monad.Gen", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "sized" }, "sortText": "Z.sized", "additionalTextEdits": null, "filterText": null, "insertText": "sized", "kind": 12, "label": "sized" }, { "detail": "∀ a m. MonadGen m ⇒ (Int → m a) → m a", "documentation": { "kind": "markdown", "value": "\n*From: Control.Monad.Gen.Class*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sized", "Control.Monad.Gen.Class", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "sized" }, "sortText": "Z.sized", "additionalTextEdits": null, "filterText": null, "insertText": "sized", "kind": 12, "label": "sized" }, { "detail": "∀ f a b. Monad f ⇒ (b → a → b) → b → ListT f a → ListT f b", "documentation": { "kind": "markdown", "value": "Fold a list from the left, accumulating the list of results using the specified function.\n\n*From: Control.Monad.List.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "scanl", "Control.Monad.List.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "scanl" }, "sortText": "Z.scanl", "additionalTextEdits": null, "filterText": null, "insertText": "scanl", "kind": 12, "label": "scanl" }, { "detail": "∀ f a. Applicative f ⇒ a → ListT f a", "documentation": { "kind": "markdown", "value": "Create a list with one element.\n\n*From: Control.Monad.List.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "singleton", "Control.Monad.List.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "singleton" }, "sortText": "Z.singleton", "additionalTextEdits": null, "filterText": null, "insertText": "singleton", "kind": 12, "label": "singleton" }, { "detail": "∀ m t. Monad m ⇒ MMonad t ⇒ t (t m) ~> t m", "documentation": { "kind": "markdown", "value": "\n*From: Control.Monad.Morph*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "squash", "Control.Monad.Morph", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "squash" }, "sortText": "Z.squash", "additionalTextEdits": null, "filterText": null, "insertText": "squash", "kind": 12, "label": "squash" }, { "detail": "∀ a m s. MonadState s m ⇒ (s → Tuple a s) → m a", "documentation": { "kind": "markdown", "value": "\n*From: Control.Monad.RWS*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "state", "Control.Monad.RWS", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "state" }, "sortText": "Z.state", "additionalTextEdits": null, "filterText": null, "insertText": "state", "kind": 12, "label": "state" }, { "detail": "∀ a m s. MonadState s m ⇒ (s → Tuple a s) → m a", "documentation": { "kind": "markdown", "value": "\n*From: Control.Monad.State*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "state", "Control.Monad.State", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "state" }, "sortText": "Z.state", "additionalTextEdits": null, "filterText": null, "insertText": "state", "kind": 12, "label": "state" }, { "detail": "∀ a m s. MonadState s m ⇒ (s → Tuple a s) → m a", "documentation": { "kind": "markdown", "value": "\n*From: Control.Monad.State.Class*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "state", "Control.Monad.State.Class", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "state" }, "sortText": "Z.state", "additionalTextEdits": null, "filterText": null, "insertText": "state", "kind": 12, "label": "state" }, { "detail": "∀ a m s. MonadState s m ⇒ (s → Tuple a s) → m a", "documentation": { "kind": "markdown", "value": "\n*From: Control.Monad.State.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "state", "Control.Monad.State.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "state" }, "sortText": "Z.state", "additionalTextEdits": null, "filterText": null, "insertText": "state", "kind": 12, "label": "state" }, { "detail": "∀ m f. Parallel f m ⇒ (∀ a. f a → m a)", "documentation": { "kind": "markdown", "value": "\n*From: Control.Parallel*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sequential", "Control.Parallel", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "sequential" }, "sortText": "Z.sequential", "additionalTextEdits": null, "filterText": null, "insertText": "sequential", "kind": 12, "label": "sequential" }, { "detail": "∀ m f. Parallel f m ⇒ (∀ a. f a → m a)", "documentation": { "kind": "markdown", "value": "\n*From: Control.Parallel.Class*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sequential", "Control.Parallel.Class", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "sequential" }, "sortText": "Z.sequential", "additionalTextEdits": null, "filterText": null, "insertText": "sequential", "kind": 12, "label": "sequential" }, { "detail": "∀ a. a → Array a", "documentation": { "kind": "markdown", "value": "Create an array of one element\n```purescript\nsingleton 2 = [2]\n```\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "singleton", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "singleton" }, "sortText": "Z.singleton", "additionalTextEdits": null, "filterText": null, "insertText": "singleton", "kind": 12, "label": "singleton" }, { "detail": "∀ f a. Alternative f ⇒ Lazy (f (Array a)) ⇒ f a → f (Array a)", "documentation": { "kind": "markdown", "value": "Attempt a computation multiple times, requiring at least one success.\n\nThe `Lazy` constraint is used to generate the result lazily, to ensure\ntermination.\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "some", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "some" }, "sortText": "Z.some", "additionalTextEdits": null, "filterText": null, "insertText": "some", "kind": 12, "label": "some" }, { "detail": "∀ a. Array a → a → Array a", "documentation": { "kind": "markdown", "value": "Append an element to the end of an array, creating a new array.\n\n```purescript\nsnoc [1, 2, 3] 4 = [1, 2, 3, 4]\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "snoc", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "snoc" }, "sortText": "Z.snoc", "additionalTextEdits": null, "filterText": null, "insertText": "snoc", "kind": 12, "label": "snoc" }, { "detail": "∀ a. Ord a ⇒ Array a → Array a", "documentation": { "kind": "markdown", "value": "Sort the elements of an array in increasing order, creating a new array.\n\n```purescript\nsort [2, -3, 1] = [-3, 1, 2]\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sort", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "sort" }, "sortText": "Z.sort", "additionalTextEdits": null, "filterText": null, "insertText": "sort", "kind": 12, "label": "sort" }, { "detail": "∀ a. (a → a → Ordering) → Array a → Array a", "documentation": { "kind": "markdown", "value": "Sort the elements of an array in increasing order, where elements are\ncompared using the specified partial ordering, creating a new array.\n\n```purescript\ncompareLength a b = compare (length a) (length b)\nsortBy compareLength [[1, 2, 3], [7, 9], [-2]] = [[-2],[7,9],[1,2,3]]\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sortBy", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "sortBy" }, "sortText": "Z.sortBy", "additionalTextEdits": null, "filterText": null, "insertText": "sortBy", "kind": 12, "label": "sortBy" }, { "detail": "∀ a b. Ord b ⇒ (a → b) → Array a → Array a", "documentation": { "kind": "markdown", "value": "Sort the elements of an array in increasing order, where elements are\nsorted based on a projection\n\n```purescript\nsortWith (_.age) [{name: \"Alice\", age: 42}, {name: \"Bob\", age: 21}]\n = [{name: \"Bob\", age: 21}, {name: \"Alice\", age: 42}]\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sortWith", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "sortWith" }, "sortText": "Z.sortWith", "additionalTextEdits": null, "filterText": null, "insertText": "sortWith", "kind": 12, "label": "sortWith" }, { "detail": "∀ a. Int → Int → Array a → Array a", "documentation": { "kind": "markdown", "value": "Extract a subarray by a start and end index.\n\n```purescript\nletters = [\"a\", \"b\", \"c\"]\nslice 1 3 letters = [\"b\", \"c\"]\nslice 5 7 letters = []\nslice 4 1 letters = []\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "slice", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "slice" }, "sortText": "Z.slice", "additionalTextEdits": null, "filterText": null, "insertText": "slice", "kind": 12, "label": "slice" }, { "detail": "∀ a. (a → Boolean) → Array a → { init ∷ Array a , rest ∷ Array a }", "documentation": { "kind": "markdown", "value": "Split an array into two parts:\n\n1. the longest initial subarray for which all elements satisfy the\n specified predicate\n2. the remaining elements\n\n```purescript\nspan (\\n -> n % 2 == 1) [1,3,2,4,5] == { init: [1,3], rest: [2,4,5] }\n```\n\nRunning time: `O(n)`.\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "span", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "span" }, "sortText": "Z.span", "additionalTextEdits": null, "filterText": null, "insertText": "span", "kind": 12, "label": "span" }, { "detail": "∀ a b f. Traversable f ⇒ (b → a → b) → b → f a → f b", "documentation": { "kind": "markdown", "value": "Fold a data structure from the left, keeping all intermediate results\ninstead of only the final result. Note that the initial value does not\nappear in the result (unlike Haskell's `Prelude.scanl`).\n\n```purescript\nscanl (+) 0 [1,2,3] = [1,3,6]\nscanl (-) 10 [1,2,3] = [9,7,4]\n```\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "scanl", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "scanl" }, "sortText": "Z.scanl", "additionalTextEdits": null, "filterText": null, "insertText": "scanl", "kind": 12, "label": "scanl" }, { "detail": "∀ a b f. Traversable f ⇒ (a → b → b) → b → f a → f b", "documentation": { "kind": "markdown", "value": "Fold a data structure from the right, keeping all intermediate results\ninstead of only the final result. Note that the initial value does not\nappear in the result (unlike Haskell's `Prelude.scanr`).\n\n```purescript\nscanr (+) 0 [1,2,3] = [6,5,3]\nscanr (flip (-)) 10 [1,2,3] = [4,5,7]\n```\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "scanr", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "scanr" }, "sortText": "Z.scanr", "additionalTextEdits": null, "filterText": null, "insertText": "scanr", "kind": 12, "label": "scanr" }, { "detail": "∀ a. a → NonEmptyArray a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "singleton", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "singleton" }, "sortText": "Z.singleton", "additionalTextEdits": null, "filterText": null, "insertText": "singleton", "kind": 12, "label": "singleton" }, { "detail": "∀ f a. Alternative f ⇒ Lazy (f (Array a)) ⇒ f a → f (NonEmptyArray a)", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "some", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "some" }, "sortText": "Z.some", "additionalTextEdits": null, "filterText": null, "insertText": "some", "kind": 12, "label": "some" }, { "detail": "∀ a. NonEmptyArray a → a → NonEmptyArray a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "snoc", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "snoc" }, "sortText": "Z.snoc", "additionalTextEdits": null, "filterText": null, "insertText": "snoc", "kind": 12, "label": "snoc" }, { "detail": "∀ a. Array a → a → NonEmptyArray a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "snoc'", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "snoc'" }, "sortText": "Z.snoc'", "additionalTextEdits": null, "filterText": null, "insertText": "snoc'", "kind": 12, "label": "snoc'" }, { "detail": "∀ a. Ord a ⇒ NonEmptyArray a → NonEmptyArray a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sort", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "sort" }, "sortText": "Z.sort", "additionalTextEdits": null, "filterText": null, "insertText": "sort", "kind": 12, "label": "sort" }, { "detail": "∀ a. (a → a → Ordering) → NonEmptyArray a → NonEmptyArray a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sortBy", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "sortBy" }, "sortText": "Z.sortBy", "additionalTextEdits": null, "filterText": null, "insertText": "sortBy", "kind": 12, "label": "sortBy" }, { "detail": "∀ a b. Ord b ⇒ (a → b) → NonEmptyArray a → NonEmptyArray a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sortWith", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "sortWith" }, "sortText": "Z.sortWith", "additionalTextEdits": null, "filterText": null, "insertText": "sortWith", "kind": 12, "label": "sortWith" }, { "detail": "∀ a. Int → Int → NonEmptyArray a → Array a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "slice", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "slice" }, "sortText": "Z.slice", "additionalTextEdits": null, "filterText": null, "insertText": "slice", "kind": 12, "label": "slice" }, { "detail": "∀ a. (a → Boolean) → NonEmptyArray a → { init ∷ Array a , rest ∷ Array a }", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "span", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "span" }, "sortText": "Z.span", "additionalTextEdits": null, "filterText": null, "insertText": "span", "kind": 12, "label": "span" }, { "detail": "∀ h a. STArray h a → ST h (Maybe a)", "documentation": { "kind": "markdown", "value": "Remove the first element from an array and return that element.\n\n*From: Data.Array.ST*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "shift", "Data.Array.ST", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "shift" }, "sortText": "Z.shift", "additionalTextEdits": null, "filterText": null, "insertText": "shift", "kind": 12, "label": "shift" }, { "detail": "∀ h a. Int → Int → Array a → STArray h a → ST h (Array a)", "documentation": { "kind": "markdown", "value": "Remove and/or insert elements from/into a mutable array at the specified index.\n\n*From: Data.Array.ST*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "splice", "Data.Array.ST", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "splice" }, "sortText": "Z.splice", "additionalTextEdits": null, "filterText": null, "insertText": "splice", "kind": 12, "label": "splice" }, { "detail": "∀ a h. Ord a ⇒ STArray h a → ST h (STArray h a)", "documentation": { "kind": "markdown", "value": "Sort a mutable array in place.\n\n*From: Data.Array.ST*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sort", "Data.Array.ST", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "sort" }, "sortText": "Z.sort", "additionalTextEdits": null, "filterText": null, "insertText": "sort", "kind": 12, "label": "sort" }, { "detail": "∀ a h. (a → a → Ordering) → STArray h a → ST h (STArray h a)", "documentation": { "kind": "markdown", "value": "Sort a mutable array in place using a comparison function.\n\n*From: Data.Array.ST*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sortBy", "Data.Array.ST", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "sortBy" }, "sortText": "Z.sortBy", "additionalTextEdits": null, "filterText": null, "insertText": "sortBy", "kind": 12, "label": "sortBy" }, { "detail": "∀ a b h. Ord b ⇒ (a → b) → STArray h a → ST h (STArray h a)", "documentation": { "kind": "markdown", "value": "Sort a mutable array in place based on a projection.\n\n*From: Data.Array.ST*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sortWith", "Data.Array.ST", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "sortWith" }, "sortText": "Z.sortWith", "additionalTextEdits": null, "filterText": null, "insertText": "sortWith", "kind": 12, "label": "sortWith" }, { "detail": "BigInt → Number → BigInt", "documentation": { "kind": "markdown", "value": "shift the bits left and zero fill.\n\n*From: Data.BigInt*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "shl", "Data.BigInt", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "shl" }, "sortText": "Z.shl", "additionalTextEdits": null, "filterText": null, "insertText": "shl", "kind": 12, "label": "shl" }, { "detail": "BigInt → Number → BigInt", "documentation": { "kind": "markdown", "value": "Shift the bits right and maintain pos/neg.\n\n*From: Data.BigInt*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "shr", "Data.BigInt", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "shr" }, "sortText": "Z.shr", "additionalTextEdits": null, "filterText": null, "insertText": "shr", "kind": 12, "label": "shr" }, { "detail": "∀ a. a → CatList a", "documentation": { "kind": "markdown", "value": "Create a catenable list with a single item.\n\nRunning time: `O(1)`\n\n*From: Data.CatList*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "singleton", "Data.CatList", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "singleton" }, "sortText": "Z.singleton", "additionalTextEdits": null, "filterText": null, "insertText": "singleton", "kind": 12, "label": "singleton" }, { "detail": "∀ a. CatList a → a → CatList a", "documentation": { "kind": "markdown", "value": "Append an element to the end of the catenable list, creating a new\ncatenable list.\n\nRunning time: `O(1)`\n\n*From: Data.CatList*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "snoc", "Data.CatList", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "snoc" }, "sortText": "Z.snoc", "additionalTextEdits": null, "filterText": null, "insertText": "snoc", "kind": 12, "label": "snoc" }, { "detail": "∀ a. a → CatQueue a", "documentation": { "kind": "markdown", "value": "Create a queue containing a single element.\n\nRunning time: `O(1)`\n\n*From: Data.CatQueue*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "singleton", "Data.CatQueue", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "singleton" }, "sortText": "Z.singleton", "additionalTextEdits": null, "filterText": null, "insertText": "singleton", "kind": 12, "label": "singleton" }, { "detail": "∀ a. CatQueue a → a → CatQueue a", "documentation": { "kind": "markdown", "value": "Append an element to the end of the queue, creating a new queue.\n\nRunning time: `O(1)`\n\n*From: Data.CatQueue*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "snoc", "Data.CatQueue", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "snoc" }, "sortText": "Z.snoc", "additionalTextEdits": null, "filterText": null, "insertText": "snoc", "kind": 12, "label": "snoc" }, { "detail": "Time → Second", "documentation": { "kind": "markdown", "value": "The second component of a time value.\n\n*From: Data.DateTime*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "second", "Data.DateTime", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "second" }, "sortText": "Z.second", "additionalTextEdits": null, "filterText": null, "insertText": "second", "kind": 12, "label": "second" }, { "detail": "Hour → Time → Time", "documentation": { "kind": "markdown", "value": "Alters the hour component of a time value.\n\n*From: Data.DateTime*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "setHour", "Data.DateTime", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "setHour" }, "sortText": "Z.setHour", "additionalTextEdits": null, "filterText": null, "insertText": "setHour", "kind": 12, "label": "setHour" }, { "detail": "Millisecond → Time → Time", "documentation": { "kind": "markdown", "value": "Alters the millisecond component of a time value.\n\n*From: Data.DateTime*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "setMillisecond", "Data.DateTime", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "setMillisecond" }, "sortText": "Z.setMillisecond", "additionalTextEdits": null, "filterText": null, "insertText": "setMillisecond", "kind": 12, "label": "setMillisecond" }, { "detail": "Minute → Time → Time", "documentation": { "kind": "markdown", "value": "Alters the minute component of a time value.\n\n*From: Data.DateTime*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "setMinute", "Data.DateTime", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "setMinute" }, "sortText": "Z.setMinute", "additionalTextEdits": null, "filterText": null, "insertText": "setMinute", "kind": 12, "label": "setMinute" }, { "detail": "Second → Time → Time", "documentation": { "kind": "markdown", "value": "Alters the second component of a time value.\n\n*From: Data.DateTime*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "setSecond", "Data.DateTime", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "setSecond" }, "sortText": "Z.setSecond", "additionalTextEdits": null, "filterText": null, "insertText": "setSecond", "kind": 12, "label": "setSecond" }, { "detail": "∀ a. Ring a ⇒ a → a → a", "documentation": { "kind": "markdown", "value": "\n*From: Data.DivisionRing*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sub", "Data.DivisionRing", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "sub" }, "sortText": "Z.sub", "additionalTextEdits": null, "filterText": null, "insertText": "sub", "kind": 12, "label": "sub" }, { "detail": "∀ a. Enum a ⇒ a → Maybe a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Enum*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "succ", "Data.Enum", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "succ" }, "sortText": "Z.succ", "additionalTextEdits": null, "filterText": null, "insertText": "succ", "kind": 12, "label": "succ" }, { "detail": "∀ a. Ring a ⇒ a → a → a", "documentation": { "kind": "markdown", "value": "\n*From: Data.EuclideanRing*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sub", "Data.EuclideanRing", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "sub" }, "sortText": "Z.sub", "additionalTextEdits": null, "filterText": null, "insertText": "sub", "kind": 12, "label": "sub" }, { "detail": "∀ a. Ring a ⇒ a → a → a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Field*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sub", "Data.Field", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "sub" }, "sortText": "Z.sub", "additionalTextEdits": null, "filterText": null, "insertText": "sub", "kind": 12, "label": "sub" }, { "detail": "∀ a f m. Applicative m ⇒ Foldable f ⇒ f (m a) → m Unit", "documentation": { "kind": "markdown", "value": "Perform all of the effects in some data structure in the order\ngiven by the `Foldable` instance, ignoring the final result.\n\nFor example:\n\n```purescript\nsequence_ [ trace \"Hello, \", trace \" world!\" ]\n```\n\n*From: Data.Foldable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sequence_", "Data.Foldable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "sequence_" }, "sortText": "Z.sequence_", "additionalTextEdits": null, "filterText": null, "insertText": "sequence_", "kind": 12, "label": "sequence_" }, { "detail": "∀ f a m. Foldable f ⇒ Semigroup m ⇒ m → (a → m) → f a → m", "documentation": { "kind": "markdown", "value": "`foldMap` but with each element surrounded by some fixed value.\n\nFor example:\n\n```purescript\n> surroundMap \"*\" show []\n= \"*\"\n\n> surroundMap \"*\" show [1]\n= \"*1*\"\n\n> surroundMap \"*\" show [1, 2]\n= \"*1*2*\"\n\n> surroundMap \"*\" show [1, 2, 3]\n= \"*1*2*3*\"\n```\n\n*From: Data.Foldable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "surroundMap", "Data.Foldable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "surroundMap" }, "sortText": "Z.surroundMap", "additionalTextEdits": null, "filterText": null, "insertText": "surroundMap", "kind": 12, "label": "surroundMap" }, { "detail": "∀ f m. Foldable f ⇒ Semigroup m ⇒ m → f m → m", "documentation": { "kind": "markdown", "value": "`fold` but with each element surrounded by some fixed value.\n\nFor example:\n\n```purescript\n> surround \"*\" []\n= \"*\"\n\n> surround \"*\" [\"1\"]\n= \"*1*\"\n\n> surround \"*\" [\"1\", \"2\"]\n= \"*1*2*\"\n\n> surround \"*\" [\"1\", \"2\", \"3\"]\n= \"*1*2*3*\"\n```\n\n*From: Data.Foldable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "surround", "Data.Foldable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "surround" }, "sortText": "Z.surround", "additionalTextEdits": null, "filterText": null, "insertText": "surround", "kind": 12, "label": "surround" }, { "detail": "∀ a f. Foldable f ⇒ Semiring a ⇒ f a → a", "documentation": { "kind": "markdown", "value": "Find the sum of the numeric values in a data structure.\n\n*From: Data.Foldable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sum", "Data.Foldable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "sum" }, "sortText": "Z.sum", "additionalTextEdits": null, "filterText": null, "insertText": "sum", "kind": 12, "label": "sum" }, { "detail": "∀ i f a m. FoldableWithIndex i f ⇒ Semigroup m ⇒ m → (i → a → m) → f a → m", "documentation": { "kind": "markdown", "value": "`foldMapWithIndex` but with each element surrounded by some fixed value.\n\nFor example:\n\n```purescript\n> surroundMapWithIndex \"*\" (\\i x -> show i <> x) []\n= \"*\"\n\n> surroundMapWithIndex \"*\" (\\i x -> show i <> x) [\"a\"]\n= \"*0a*\"\n\n> surroundMapWithIndex \"*\" (\\i x -> show i <> x) [\"a\", \"b\"]\n= \"*0a*1b*\"\n\n> surroundMapWithIndex \"*\" (\\i x -> show i <> x) [\"a\", \"b\", \"c\"]\n= \"*0a*1b*2c*\"\n```\n\n*From: Data.FoldableWithIndex*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "surroundMapWithIndex", "Data.FoldableWithIndex", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "surroundMapWithIndex" }, "sortText": "Z.surroundMapWithIndex", "additionalTextEdits": null, "filterText": null, "insertText": "surroundMapWithIndex", "kind": 12, "label": "surroundMapWithIndex" }, { "detail": "Int → Int → Int", "documentation": { "kind": "markdown", "value": "Bitwise shift left.\n\n*From: Data.Int.Bits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "shl", "Data.Int.Bits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "shl" }, "sortText": "Z.shl", "additionalTextEdits": null, "filterText": null, "insertText": "shl", "kind": 12, "label": "shl" }, { "detail": "Int → Int → Int", "documentation": { "kind": "markdown", "value": "Bitwise shift right.\n\n*From: Data.Int.Bits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "shr", "Data.Int.Bits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "shr" }, "sortText": "Z.shr", "additionalTextEdits": null, "filterText": null, "insertText": "shr", "kind": 12, "label": "shr" }, { "detail": "Number → Duration", "documentation": { "kind": "markdown", "value": "\n*From: Data.Interval*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "second", "Data.Interval", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "second" }, "sortText": "Z.second", "additionalTextEdits": null, "filterText": null, "insertText": "second", "kind": 12, "label": "second" }, { "detail": "Number → Duration", "documentation": { "kind": "markdown", "value": "\n*From: Data.Interval.Duration*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "second", "Data.Interval.Duration", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "second" }, "sortText": "Z.second", "additionalTextEdits": null, "filterText": null, "insertText": "second", "kind": 12, "label": "second" }, { "detail": "∀ a. a → List a", "documentation": { "kind": "markdown", "value": "Create a list with a single element.\n\nRunning time: `O(1)`\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "singleton", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "singleton" }, "sortText": "Z.singleton", "additionalTextEdits": null, "filterText": null, "insertText": "singleton", "kind": 12, "label": "singleton" }, { "detail": "∀ f a. Alternative f ⇒ Lazy (f (List a)) ⇒ f a → f (List a)", "documentation": { "kind": "markdown", "value": "Attempt a computation multiple times, requiring at least one success.\n\nThe `Lazy` constraint is used to generate the result lazily, to ensure\ntermination.\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "some", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "some" }, "sortText": "Z.some", "additionalTextEdits": null, "filterText": null, "insertText": "some", "kind": 12, "label": "some" }, { "detail": "∀ f a. MonadRec f ⇒ Alternative f ⇒ f a → f (List a)", "documentation": { "kind": "markdown", "value": "A stack-safe version of `some`, at the cost of a `MonadRec` constraint.\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "someRec", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "someRec" }, "sortText": "Z.someRec", "additionalTextEdits": null, "filterText": null, "insertText": "someRec", "kind": 12, "label": "someRec" }, { "detail": "∀ a. List a → a → List a", "documentation": { "kind": "markdown", "value": "Append an element to the end of a list, creating a new list.\n\nRunning time: `O(n)`\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "snoc", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "snoc" }, "sortText": "Z.snoc", "additionalTextEdits": null, "filterText": null, "insertText": "snoc", "kind": 12, "label": "snoc" }, { "detail": "∀ a. Ord a ⇒ List a → List a", "documentation": { "kind": "markdown", "value": "Sort the elements of an list in increasing order.\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sort", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "sort" }, "sortText": "Z.sort", "additionalTextEdits": null, "filterText": null, "insertText": "sort", "kind": 12, "label": "sort" }, { "detail": "∀ a. (a → a → Ordering) → List a → List a", "documentation": { "kind": "markdown", "value": "Sort the elements of a list in increasing order, where elements are\ncompared using the specified ordering.\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sortBy", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "sortBy" }, "sortText": "Z.sortBy", "additionalTextEdits": null, "filterText": null, "insertText": "sortBy", "kind": 12, "label": "sortBy" }, { "detail": "∀ a. Eq a ⇒ Pattern a → List a → Maybe (List a)", "documentation": { "kind": "markdown", "value": "If the list starts with the given prefix, return the portion of the\nlist left after removing it, as a Just value. Otherwise, return Nothing.\n* `stripPrefix (Pattern (1:Nil)) (1:2:Nil) == Just (2:Nil)`\n* `stripPrefix (Pattern Nil) (1:Nil) == Just (1:Nil)`\n* `stripPrefix (Pattern (2:Nil)) (1:Nil) == Nothing`\n\nRunning time: `O(n)` where `n` is the number of elements to strip.\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "stripPrefix", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "stripPrefix" }, "sortText": "Z.stripPrefix", "additionalTextEdits": null, "filterText": null, "insertText": "stripPrefix", "kind": 12, "label": "stripPrefix" }, { "detail": "Int → Int → List ~> List", "documentation": { "kind": "markdown", "value": "Extract a sublist by a start and end index.\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "slice", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "slice" }, "sortText": "Z.slice", "additionalTextEdits": null, "filterText": null, "insertText": "slice", "kind": 12, "label": "slice" }, { "detail": "∀ a. (a → Boolean) → List a → { init ∷ List a , rest ∷ List a }", "documentation": { "kind": "markdown", "value": "Split a list into two parts:\n\n1. the longest initial segment for which all elements satisfy the specified predicate\n2. the remaining elements\n\nFor example,\n\n```purescript\nspan (\\n -> n % 2 == 1) (1 : 3 : 2 : 4 : 5 : Nil) == { init: (1 : 3 : Nil), rest: (2 : 4 : 5 : Nil) }\n```\n\nRunning time: `O(n)`\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "span", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "span" }, "sortText": "Z.span", "additionalTextEdits": null, "filterText": null, "insertText": "span", "kind": 12, "label": "span" }, { "detail": "∀ a b f. Traversable f ⇒ (b → a → b) → b → f a → f b", "documentation": { "kind": "markdown", "value": "Fold a data structure from the left, keeping all intermediate results\ninstead of only the final result. Note that the initial value does not\nappear in the result (unlike Haskell's `Prelude.scanl`).\n\n```purescript\nscanl (+) 0 [1,2,3] = [1,3,6]\nscanl (-) 10 [1,2,3] = [9,7,4]\n```\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "scanl", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "scanl" }, "sortText": "Z.scanl", "additionalTextEdits": null, "filterText": null, "insertText": "scanl", "kind": 12, "label": "scanl" }, { "detail": "∀ a b f. Traversable f ⇒ (a → b → b) → b → f a → f b", "documentation": { "kind": "markdown", "value": "Fold a data structure from the right, keeping all intermediate results\ninstead of only the final result. Note that the initial value does not\nappear in the result (unlike Haskell's `Prelude.scanr`).\n\n```purescript\nscanr (+) 0 [1,2,3] = [6,5,3]\nscanr (flip (-)) 10 [1,2,3] = [4,5,7]\n```\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "scanr", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "scanr" }, "sortText": "Z.scanr", "additionalTextEdits": null, "filterText": null, "insertText": "scanr", "kind": 12, "label": "scanr" }, { "detail": "∀ a. a → List a", "documentation": { "kind": "markdown", "value": "Create a list with a single element.\n\nRunning time: `O(1)`\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "singleton", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "singleton" }, "sortText": "Z.singleton", "additionalTextEdits": null, "filterText": null, "insertText": "singleton", "kind": 12, "label": "singleton" }, { "detail": "∀ f a. Alternative f ⇒ Lazy (f (List a)) ⇒ f a → f (List a)", "documentation": { "kind": "markdown", "value": "Attempt a computation multiple times, requiring at least one success.\n\nThe `Lazy` constraint is used to generate the result lazily, to ensure\ntermination.\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "some", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "some" }, "sortText": "Z.some", "additionalTextEdits": null, "filterText": null, "insertText": "some", "kind": 12, "label": "some" }, { "detail": "∀ a. List a → a → List a", "documentation": { "kind": "markdown", "value": "Append an element to the end of a list, creating a new list.\n\nRunning time: `O(n)`\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "snoc", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "snoc" }, "sortText": "Z.snoc", "additionalTextEdits": null, "filterText": null, "insertText": "snoc", "kind": 12, "label": "snoc" }, { "detail": "∀ a. Eq a ⇒ Pattern a → List a → Maybe (List a)", "documentation": { "kind": "markdown", "value": "If the list starts with the given prefix, return the portion of the\nlist left after removing it, as a Just value. Otherwise, return Nothing.\n* `stripPrefix (Pattern (fromFoldable [1])) (fromFoldable [1,2]) == Just (fromFoldable [2])`\n* `stripPrefix (Pattern (fromFoldable [])) (fromFoldable [1]) == Just (fromFoldable [1])`\n* `stripPrefix (Pattern (fromFoldable [2])) (fromFoldable [1]) == Nothing`\n\nRunning time: `O(n)` where `n` is the number of elements to strip.\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "stripPrefix", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "stripPrefix" }, "sortText": "Z.stripPrefix", "additionalTextEdits": null, "filterText": null, "insertText": "stripPrefix", "kind": 12, "label": "stripPrefix" }, { "detail": "Int → Int → List ~> List", "documentation": { "kind": "markdown", "value": "Extract a sublist by a start and end index.\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "slice", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "slice" }, "sortText": "Z.slice", "additionalTextEdits": null, "filterText": null, "insertText": "slice", "kind": 12, "label": "slice" }, { "detail": "∀ a. (a → Boolean) → List a → { init ∷ List a , rest ∷ List a }", "documentation": { "kind": "markdown", "value": "Split a list into two parts:\n\n1. the longest initial segment for which all elements satisfy the specified predicate\n2. the remaining elements\n\nFor example,\n\n```purescript\nspan (\\n -> n % 2 == 1) (1 : 3 : 2 : 4 : 5 : Nil) == Tuple (1 : 3 : Nil) (2 : 4 : 5 : Nil)\n```\n\nRunning time: `O(n)`\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "span", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "span" }, "sortText": "Z.span", "additionalTextEdits": null, "filterText": null, "insertText": "span", "kind": 12, "label": "span" }, { "detail": "∀ a b. (a → b → b) → b → List a → List b", "documentation": { "kind": "markdown", "value": "Perform a right scan lazily\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "scanrLazy", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "scanrLazy" }, "sortText": "Z.scanrLazy", "additionalTextEdits": null, "filterText": null, "insertText": "scanrLazy", "kind": 12, "label": "scanrLazy" }, { "detail": "∀ a b f. Traversable f ⇒ (b → a → b) → b → f a → f b", "documentation": { "kind": "markdown", "value": "Fold a data structure from the left, keeping all intermediate results\ninstead of only the final result. Note that the initial value does not\nappear in the result (unlike Haskell's `Prelude.scanl`).\n\n```purescript\nscanl (+) 0 [1,2,3] = [1,3,6]\nscanl (-) 10 [1,2,3] = [9,7,4]\n```\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "scanl", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "scanl" }, "sortText": "Z.scanl", "additionalTextEdits": null, "filterText": null, "insertText": "scanl", "kind": 12, "label": "scanl" }, { "detail": "∀ a b f. Traversable f ⇒ (a → b → b) → b → f a → f b", "documentation": { "kind": "markdown", "value": "Fold a data structure from the right, keeping all intermediate results\ninstead of only the final result. Note that the initial value does not\nappear in the result (unlike Haskell's `Prelude.scanr`).\n\n```purescript\nscanr (+) 0 [1,2,3] = [6,5,3]\nscanr (flip (-)) 10 [1,2,3] = [4,5,7]\n```\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "scanr", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "scanr" }, "sortText": "Z.scanr", "additionalTextEdits": null, "filterText": null, "insertText": "scanr", "kind": 12, "label": "scanr" }, { "detail": "∀ a. List a → Step a", "documentation": { "kind": "markdown", "value": "Unwrap a lazy linked list\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "step", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "step" }, "sortText": "Z.step", "additionalTextEdits": null, "filterText": null, "insertText": "step", "kind": 12, "label": "step" }, { "detail": "∀ a. a → NonEmptyList a", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.Lazy.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "singleton", "Data.List.Lazy.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "singleton" }, "sortText": "Z.singleton", "additionalTextEdits": null, "filterText": null, "insertText": "singleton", "kind": 12, "label": "singleton" }, { "detail": "∀ a. List a → Step a", "documentation": { "kind": "markdown", "value": "Unwrap a lazy linked list\n\n*From: Data.List.Lazy.Types*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "step", "Data.List.Lazy.Types", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "step" }, "sortText": "Z.step", "additionalTextEdits": null, "filterText": null, "insertText": "step", "kind": 12, "label": "step" }, { "detail": "∀ a. a → NonEmptyList a", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "singleton", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "singleton" }, "sortText": "Z.singleton", "additionalTextEdits": null, "filterText": null, "insertText": "singleton", "kind": 12, "label": "singleton" }, { "detail": "∀ a. NonEmptyList a → a → NonEmptyList a", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "snoc", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "snoc" }, "sortText": "Z.snoc", "additionalTextEdits": null, "filterText": null, "insertText": "snoc", "kind": 12, "label": "snoc" }, { "detail": "∀ a. List a → a → NonEmptyList a", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "snoc'", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "snoc'" }, "sortText": "Z.snoc'", "additionalTextEdits": null, "filterText": null, "insertText": "snoc'", "kind": 12, "label": "snoc'" }, { "detail": "∀ a. Ord a ⇒ NonEmptyList a → NonEmptyList a", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sort", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "sort" }, "sortText": "Z.sort", "additionalTextEdits": null, "filterText": null, "insertText": "sort", "kind": 12, "label": "sort" }, { "detail": "∀ a. (a → a → Ordering) → NonEmptyList a → NonEmptyList a", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sortBy", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "sortBy" }, "sortText": "Z.sortBy", "additionalTextEdits": null, "filterText": null, "insertText": "sortBy", "kind": 12, "label": "sortBy" }, { "detail": "∀ a. (a → Boolean) → NonEmptyList a → { init ∷ List a , rest ∷ List a }", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "span", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "span" }, "sortText": "Z.span", "additionalTextEdits": null, "filterText": null, "insertText": "span", "kind": 12, "label": "span" }, { "detail": "∀ a b f. Traversable f ⇒ (b → a → b) → b → f a → f b", "documentation": { "kind": "markdown", "value": "Fold a data structure from the left, keeping all intermediate results\ninstead of only the final result. Note that the initial value does not\nappear in the result (unlike Haskell's `Prelude.scanl`).\n\n```purescript\nscanl (+) 0 [1,2,3] = [1,3,6]\nscanl (-) 10 [1,2,3] = [9,7,4]\n```\n\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "scanl", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "scanl" }, "sortText": "Z.scanl", "additionalTextEdits": null, "filterText": null, "insertText": "scanl", "kind": 12, "label": "scanl" }, { "detail": "∀ a b f. Traversable f ⇒ (a → b → b) → b → f a → f b", "documentation": { "kind": "markdown", "value": "Fold a data structure from the right, keeping all intermediate results\ninstead of only the final result. Note that the initial value does not\nappear in the result (unlike Haskell's `Prelude.scanr`).\n\n```purescript\nscanr (+) 0 [1,2,3] = [6,5,3]\nscanr (flip (-)) 10 [1,2,3] = [4,5,7]\n```\n\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "scanr", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "scanr" }, "sortText": "Z.scanr", "additionalTextEdits": null, "filterText": null, "insertText": "scanr", "kind": 12, "label": "scanr" }, { "detail": "∀ b f t. Traversable1 t ⇒ Apply f ⇒ t (f b) → f (t b)", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sequence1", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "sequence1" }, "sortText": "Z.sequence1", "additionalTextEdits": null, "filterText": null, "insertText": "sequence1", "kind": 12, "label": "sequence1" }, { "detail": "∀ t f a. Foldable1 t ⇒ Apply f ⇒ t (f a) → f Unit", "documentation": { "kind": "markdown", "value": "Perform all of the effects in some data structure in the order\ngiven by the `Foldable1` instance, ignoring the final result.\n\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sequence1_", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "sequence1_" }, "sortText": "Z.sequence1_", "additionalTextEdits": null, "filterText": null, "insertText": "sequence1_", "kind": 12, "label": "sequence1_" }, { "detail": "∀ k v. Show k ⇒ Show v ⇒ Map k v → String", "documentation": { "kind": "markdown", "value": "Render a `Map` as a `String`\n\n*From: Data.Map*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "showTree", "Data.Map", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "showTree" }, "sortText": "Z.showTree", "additionalTextEdits": null, "filterText": null, "insertText": "showTree", "kind": 12, "label": "showTree" }, { "detail": "∀ k v. k → v → Map k v", "documentation": { "kind": "markdown", "value": "Create a map with one key/value pair\n\n*From: Data.Map*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "singleton", "Data.Map", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "singleton" }, "sortText": "Z.singleton", "additionalTextEdits": null, "filterText": null, "insertText": "singleton", "kind": 12, "label": "singleton" }, { "detail": "∀ k v. Map k v → Int", "documentation": { "kind": "markdown", "value": "Calculate the number of key/value pairs in a map\n\n*From: Data.Map*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "size", "Data.Map", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "size" }, "sortText": "Z.size", "additionalTextEdits": null, "filterText": null, "insertText": "size", "kind": 12, "label": "size" }, { "detail": "∀ k v. Ord k ⇒ Maybe k → Maybe k → Map k v → Map k v", "documentation": { "kind": "markdown", "value": "Returns a new map containing all entries of the given map which lie\nbetween a given lower and upper bound, treating `Nothing` as no bound i.e.\nincluding the smallest (or largest) key in the map, no matter how small\n(or large) it is. For example:\n\n```purescript\nsubmap (Just 1) (Just 2)\n (fromFoldable [Tuple 0 \"zero\", Tuple 1 \"one\", Tuple 2 \"two\", Tuple 3 \"three\"])\n == fromFoldable [Tuple 1 \"one\", Tuple 2 \"two\"]\n\nsubmap Nothing (Just 2)\n (fromFoldable [Tuple 0 \"zero\", Tuple 1 \"one\", Tuple 2 \"two\", Tuple 3 \"three\"])\n == fromFoldable [Tuple 0 \"zero\", Tuple 1 \"one\", Tuple 2 \"two\"]\n```\n\nThe function is entirely specified by the following\nproperty:\n\n```purescript\nGiven any m :: Map k v, mmin :: Maybe k, mmax :: Maybe k, key :: k,\n let m' = submap mmin mmax m in\n if (maybe true (\\min -> min <= key) mmin &&\n maybe true (\\max -> max >= key) mmax)\n then lookup key m == lookup key m'\n else not (member key m')\n```\n\n*From: Data.Map*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "submap", "Data.Map", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "submap" }, "sortText": "Z.submap", "additionalTextEdits": null, "filterText": null, "insertText": "submap", "kind": 12, "label": "submap" }, { "detail": "∀ k v. Show k ⇒ Show v ⇒ Map k v → String", "documentation": { "kind": "markdown", "value": "Render a `Map` as a `String`\n\n*From: Data.Map.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "showTree", "Data.Map.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "showTree" }, "sortText": "Z.showTree", "additionalTextEdits": null, "filterText": null, "insertText": "showTree", "kind": 12, "label": "showTree" }, { "detail": "∀ k v. k → v → Map k v", "documentation": { "kind": "markdown", "value": "Create a map with one key/value pair\n\n*From: Data.Map.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "singleton", "Data.Map.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "singleton" }, "sortText": "Z.singleton", "additionalTextEdits": null, "filterText": null, "insertText": "singleton", "kind": 12, "label": "singleton" }, { "detail": "∀ k v. Ord k ⇒ Maybe k → Maybe k → Map k v → Map k v", "documentation": { "kind": "markdown", "value": "Returns a new map containing all entries of the given map which lie\nbetween a given lower and upper bound, treating `Nothing` as no bound i.e.\nincluding the smallest (or largest) key in the map, no matter how small\n(or large) it is. For example:\n\n```purescript\nsubmap (Just 1) (Just 2)\n (fromFoldable [Tuple 0 \"zero\", Tuple 1 \"one\", Tuple 2 \"two\", Tuple 3 \"three\"])\n == fromFoldable [Tuple 1 \"one\", Tuple 2 \"two\"]\n\nsubmap Nothing (Just 2)\n (fromFoldable [Tuple 0 \"zero\", Tuple 1 \"one\", Tuple 2 \"two\", Tuple 3 \"three\"])\n == fromFoldable [Tuple 0 \"zero\", Tuple 1 \"one\", Tuple 2 \"two\"]\n```\n\nThe function is entirely specified by the following\nproperty:\n\n```purescript\nGiven any m :: Map k v, mmin :: Maybe k, mmax :: Maybe k, key :: k,\n let m' = submap mmin mmax m in\n if (maybe true (\\min -> min <= key) mmin &&\n maybe true (\\max -> max >= key) mmax)\n then lookup key m == lookup key m'\n else not (member key m')\n```\n\n*From: Data.Map.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "submap", "Data.Map.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "submap" }, "sortText": "Z.submap", "additionalTextEdits": null, "filterText": null, "insertText": "submap", "kind": 12, "label": "submap" }, { "detail": "∀ k v. Map k v → Int", "documentation": { "kind": "markdown", "value": "Calculate the number of key/value pairs in a map\n\n*From: Data.Map.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "size", "Data.Map.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "size" }, "sortText": "Z.size", "additionalTextEdits": null, "filterText": null, "insertText": "size", "kind": 12, "label": "size" }, { "detail": "∀ f a. Plus f ⇒ a → NonEmpty f a", "documentation": { "kind": "markdown", "value": "Create a non-empty structure with a single value.\n\n*From: Data.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "singleton", "Data.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "singleton" }, "sortText": "Z.singleton", "additionalTextEdits": null, "filterText": null, "insertText": "singleton", "kind": 12, "label": "singleton" }, { "detail": "∀ a. Ord a ⇒ Ring a ⇒ a → a", "documentation": { "kind": "markdown", "value": "The sign function; always evaluates to either `one` or `negate one`. For\nany `x`, we should have `signum x * abs x == x`.\n\n*From: Data.Ord*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "signum", "Data.Ord", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "signum" }, "sortText": "Z.signum", "additionalTextEdits": null, "filterText": null, "insertText": "signum", "kind": 12, "label": "signum" }, { "detail": "∀ a. Ring a ⇒ a → a → a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Ring*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sub", "Data.Ring", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "sub" }, "sortText": "Z.sub", "additionalTextEdits": null, "filterText": null, "insertText": "sub", "kind": 12, "label": "sub" }, { "detail": "∀ subrow row rowlist. RingRecord rowlist row subrow ⇒ RLProxy rowlist → Record row → Record row → Record subrow", "documentation": { "kind": "markdown", "value": "\n*From: Data.Ring*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "subRecord", "Data.Ring", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "subRecord" }, "sortText": "Z.subRecord", "additionalTextEdits": null, "filterText": null, "insertText": "subRecord", "kind": 12, "label": "subRecord" }, { "detail": "∀ t f a. Foldable1 t ⇒ Apply f ⇒ t (f a) → f Unit", "documentation": { "kind": "markdown", "value": "Perform all of the effects in some data structure in the order\ngiven by the `Foldable1` instance, ignoring the final result.\n\n*From: Data.Semigroup.Foldable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sequence1_", "Data.Semigroup.Foldable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "sequence1_" }, "sortText": "Z.sequence1_", "additionalTextEdits": null, "filterText": null, "insertText": "sequence1_", "kind": 12, "label": "sequence1_" }, { "detail": "∀ b f t. Traversable1 t ⇒ Apply f ⇒ t (f b) → f (t b)", "documentation": { "kind": "markdown", "value": "\n*From: Data.Semigroup.Traversable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sequence1", "Data.Semigroup.Traversable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "sequence1" }, "sortText": "Z.sequence1", "additionalTextEdits": null, "filterText": null, "insertText": "sequence1", "kind": 12, "label": "sequence1" }, { "detail": "∀ t a m. Traversable1 t ⇒ Apply m ⇒ t (m a) → m (t a)", "documentation": { "kind": "markdown", "value": "A default implementation of `sequence1` using `traverse1`.\n\n*From: Data.Semigroup.Traversable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sequence1Default", "Data.Semigroup.Traversable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "sequence1Default" }, "sortText": "Z.sequence1Default", "additionalTextEdits": null, "filterText": null, "insertText": "sequence1Default", "kind": 12, "label": "sequence1Default" }, { "detail": "∀ a. a → Set a", "documentation": { "kind": "markdown", "value": "Create a set with one element\n\n*From: Data.Set*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "singleton", "Data.Set", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "singleton" }, "sortText": "Z.singleton", "additionalTextEdits": null, "filterText": null, "insertText": "singleton", "kind": 12, "label": "singleton" }, { "detail": "∀ a. Set a → Int", "documentation": { "kind": "markdown", "value": "Find the size of a set\n\n*From: Data.Set*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "size", "Data.Set", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "size" }, "sortText": "Z.size", "additionalTextEdits": null, "filterText": null, "insertText": "size", "kind": 12, "label": "size" }, { "detail": "∀ a. Ord a ⇒ Set a → Set a → Boolean", "documentation": { "kind": "markdown", "value": "True if and only if every element in the first set\nis an element of the second set\n\n*From: Data.Set*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "subset", "Data.Set", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "subset" }, "sortText": "Z.subset", "additionalTextEdits": null, "filterText": null, "insertText": "subset", "kind": 12, "label": "subset" }, { "detail": "∀ a. a → NonEmptySet a", "documentation": { "kind": "markdown", "value": "Create a set with one element.\n\n*From: Data.Set.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "singleton", "Data.Set.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "singleton" }, "sortText": "Z.singleton", "additionalTextEdits": null, "filterText": null, "insertText": "singleton", "kind": 12, "label": "singleton" }, { "detail": "∀ a. NonEmptySet a → Int", "documentation": { "kind": "markdown", "value": "Find the size of a set.\n\n*From: Data.Set.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "size", "Data.Set.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "size" }, "sortText": "Z.size", "additionalTextEdits": null, "filterText": null, "insertText": "size", "kind": 12, "label": "size" }, { "detail": "∀ a. Ord a ⇒ NonEmptySet a → NonEmptySet a → Boolean", "documentation": { "kind": "markdown", "value": "True if and only if every element in the first set is an element of the\nsecond set.\n\n*From: Data.Set.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "subset", "Data.Set.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "subset" }, "sortText": "Z.subset", "additionalTextEdits": null, "filterText": null, "insertText": "subset", "kind": 12, "label": "subset" }, { "detail": "∀ a. Show a ⇒ a → String", "documentation": { "kind": "markdown", "value": "\n*From: Data.Show*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "show", "Data.Show", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "show" }, "sortText": "Z.show", "additionalTextEdits": null, "filterText": null, "insertText": "show", "kind": 12, "label": "show" }, { "detail": "∀ row rowlist. ShowRecordFields rowlist row ⇒ RLProxy rowlist → Record row → Array String", "documentation": { "kind": "markdown", "value": "\n*From: Data.Show*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "showRecordFields", "Data.Show", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "showRecordFields" }, "sortText": "Z.showRecordFields", "additionalTextEdits": null, "filterText": null, "insertText": "showRecordFields", "kind": 12, "label": "showRecordFields" }, { "detail": "CodePoint → String", "documentation": { "kind": "markdown", "value": "Creates a string containing just the given code point. Operates in\nconstant space and time.\n\n```purescript\n>>> map singleton (codePointFromInt 0x1D400)\nJust \"𝐀\"\n```\n\n\n*From: Data.String*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "singleton", "Data.String", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "singleton" }, "sortText": "Z.singleton", "additionalTextEdits": null, "filterText": null, "insertText": "singleton", "kind": 12, "label": "singleton" }, { "detail": "Pattern → String → Array String", "documentation": { "kind": "markdown", "value": "Returns the substrings of the second string separated along occurences\nof the first string.\n\n```purescript\nsplit (Pattern \" \") \"hello world\" == [\"hello\", \"world\"]\n```\n\n*From: Data.String*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "split", "Data.String", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "split" }, "sortText": "Z.split", "additionalTextEdits": null, "filterText": null, "insertText": "split", "kind": 12, "label": "split" }, { "detail": "Int → String → { after ∷ String , before ∷ String }", "documentation": { "kind": "markdown", "value": "Splits a string into two substrings, where `before` contains the code\npoints up to (but not including) the given index, and `after` contains the\nrest of the string, from that index on.\n\n```purescript\n>>> splitAt 3 \"b 𝐀𝐀 c 𝐀\"\n{ before: \"b 𝐀\", after: \"𝐀 c 𝐀\" }\n```\n\nThus the length of `(splitAt i s).before` will equal either `i` or\n`length s`, if that is shorter. (Or if `i` is negative the length will be\n0.)\n\nIn code:\n```purescript\nlength (splitAt i s).before == min (max i 0) (length s)\n(splitAt i s).before <> (splitAt i s).after == s\nsplitAt i s == {before: take i s, after: drop i s}\n```\n\n*From: Data.String*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "splitAt", "Data.String", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "splitAt" }, "sortText": "Z.splitAt", "additionalTextEdits": null, "filterText": null, "insertText": "splitAt", "kind": 12, "label": "splitAt" }, { "detail": "Pattern → String → Maybe String", "documentation": { "kind": "markdown", "value": "If the string starts with the given prefix, return the portion of the\nstring left after removing it, as a Just value. Otherwise, return Nothing.\n\n```purescript\nstripPrefix (Pattern \"http:\") \"http://purescript.org\" == Just \"//purescript.org\"\nstripPrefix (Pattern \"http:\") \"https://purescript.org\" == Nothing\n```\n\n*From: Data.String*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "stripPrefix", "Data.String", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "stripPrefix" }, "sortText": "Z.stripPrefix", "additionalTextEdits": null, "filterText": null, "insertText": "stripPrefix", "kind": 12, "label": "stripPrefix" }, { "detail": "Pattern → String → Maybe String", "documentation": { "kind": "markdown", "value": "If the string ends with the given suffix, return the portion of the\nstring left after removing it, as a `Just` value. Otherwise, return\n`Nothing`.\n\n```purescript\nstripSuffix (Pattern \".exe\") \"psc.exe\" == Just \"psc\"\nstripSuffix (Pattern \".exe\") \"psc\" == Nothing\n```\n\n*From: Data.String*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "stripSuffix", "Data.String", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "stripSuffix" }, "sortText": "Z.stripSuffix", "additionalTextEdits": null, "filterText": null, "insertText": "stripSuffix", "kind": 12, "label": "stripSuffix" }, { "detail": "CodePoint → String", "documentation": { "kind": "markdown", "value": "Creates a string containing just the given code point. Operates in\nconstant space and time.\n\n```purescript\n>>> map singleton (codePointFromInt 0x1D400)\nJust \"𝐀\"\n```\n\n\n*From: Data.String.CodePoints*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "singleton", "Data.String.CodePoints", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "singleton" }, "sortText": "Z.singleton", "additionalTextEdits": null, "filterText": null, "insertText": "singleton", "kind": 12, "label": "singleton" }, { "detail": "Int → String → { after ∷ String , before ∷ String }", "documentation": { "kind": "markdown", "value": "Splits a string into two substrings, where `before` contains the code\npoints up to (but not including) the given index, and `after` contains the\nrest of the string, from that index on.\n\n```purescript\n>>> splitAt 3 \"b 𝐀𝐀 c 𝐀\"\n{ before: \"b 𝐀\", after: \"𝐀 c 𝐀\" }\n```\n\nThus the length of `(splitAt i s).before` will equal either `i` or\n`length s`, if that is shorter. (Or if `i` is negative the length will be\n0.)\n\nIn code:\n```purescript\nlength (splitAt i s).before == min (max i 0) (length s)\n(splitAt i s).before <> (splitAt i s).after == s\nsplitAt i s == {before: take i s, after: drop i s}\n```\n\n*From: Data.String.CodePoints*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "splitAt", "Data.String.CodePoints", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "splitAt" }, "sortText": "Z.splitAt", "additionalTextEdits": null, "filterText": null, "insertText": "splitAt", "kind": 12, "label": "splitAt" }, { "detail": "Pattern → String → Maybe String", "documentation": { "kind": "markdown", "value": "If the string starts with the given prefix, return the portion of the\nstring left after removing it, as a Just value. Otherwise, return Nothing.\n\n```purescript\nstripPrefix (Pattern \"http:\") \"http://purescript.org\" == Just \"//purescript.org\"\nstripPrefix (Pattern \"http:\") \"https://purescript.org\" == Nothing\n```\n\n*From: Data.String.CodePoints*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "stripPrefix", "Data.String.CodePoints", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "stripPrefix" }, "sortText": "Z.stripPrefix", "additionalTextEdits": null, "filterText": null, "insertText": "stripPrefix", "kind": 12, "label": "stripPrefix" }, { "detail": "Pattern → String → Maybe String", "documentation": { "kind": "markdown", "value": "If the string ends with the given suffix, return the portion of the\nstring left after removing it, as a `Just` value. Otherwise, return\n`Nothing`.\n\n```purescript\nstripSuffix (Pattern \".exe\") \"psc.exe\" == Just \"psc\"\nstripSuffix (Pattern \".exe\") \"psc\" == Nothing\n```\n\n*From: Data.String.CodePoints*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "stripSuffix", "Data.String.CodePoints", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "stripSuffix" }, "sortText": "Z.stripSuffix", "additionalTextEdits": null, "filterText": null, "insertText": "stripSuffix", "kind": 12, "label": "stripSuffix" }, { "detail": "Pattern → String → Maybe String", "documentation": { "kind": "markdown", "value": "If the string starts with the given prefix, return the portion of the\nstring left after removing it, as a Just value. Otherwise, return Nothing.\n\n```purescript\nstripPrefix (Pattern \"http:\") \"http://purescript.org\" == Just \"//purescript.org\"\nstripPrefix (Pattern \"http:\") \"https://purescript.org\" == Nothing\n```\n\n*From: Data.String.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "stripPrefix", "Data.String.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "stripPrefix" }, "sortText": "Z.stripPrefix", "additionalTextEdits": null, "filterText": null, "insertText": "stripPrefix", "kind": 12, "label": "stripPrefix" }, { "detail": "Pattern → String → Maybe String", "documentation": { "kind": "markdown", "value": "If the string ends with the given suffix, return the portion of the\nstring left after removing it, as a `Just` value. Otherwise, return\n`Nothing`.\n\n```purescript\nstripSuffix (Pattern \".exe\") \"psc.exe\" == Just \"psc\"\nstripSuffix (Pattern \".exe\") \"psc\" == Nothing\n```\n\n*From: Data.String.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "stripSuffix", "Data.String.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "stripSuffix" }, "sortText": "Z.stripSuffix", "additionalTextEdits": null, "filterText": null, "insertText": "stripSuffix", "kind": 12, "label": "stripSuffix" }, { "detail": "Char → String", "documentation": { "kind": "markdown", "value": "Returns a string of length `1` containing the given character.\n\n```purescript\nsingleton 'l' == \"l\"\n```\n\n\n*From: Data.String.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "singleton", "Data.String.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "singleton" }, "sortText": "Z.singleton", "additionalTextEdits": null, "filterText": null, "insertText": "singleton", "kind": 12, "label": "singleton" }, { "detail": "Int → Int → String → Maybe String", "documentation": { "kind": "markdown", "value": "Returns the substring at indices `[begin, end)`.\nIf either index is negative, it is normalised to `length s - index`,\nwhere `s` is the input string. `Nothing` is returned if either\nindex is out of bounds or if `begin > end` after normalisation.\n\n```purescript\nslice 0 0 \"purescript\" == Just \"\"\nslice 0 1 \"purescript\" == Just \"p\"\nslice 3 6 \"purescript\" == Just \"esc\"\nslice (-4) (-1) \"purescript\" == Just \"rip\"\nslice (-4) 3 \"purescript\" == Nothing\n```\n\n*From: Data.String.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "slice", "Data.String.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "slice" }, "sortText": "Z.slice", "additionalTextEdits": null, "filterText": null, "insertText": "slice", "kind": 12, "label": "slice" }, { "detail": "Int → String → { after ∷ String , before ∷ String }", "documentation": { "kind": "markdown", "value": "Splits a string into two substrings, where `before` contains the\ncharacters up to (but not including) the given index, and `after` contains\nthe rest of the string, from that index on.\n\n```purescript\nsplitAt 2 \"Hello World\" == { before: \"He\", after: \"llo World\"}\nsplitAt 10 \"Hi\" == { before: \"Hi\", after: \"\"}\n```\n\nThus the length of `(splitAt i s).before` will equal either `i` or\n`length s`, if that is shorter. (Or if `i` is negative the length will be\n0.)\n\nIn code:\n```purescript\nlength (splitAt i s).before == min (max i 0) (length s)\n(splitAt i s).before <> (splitAt i s).after == s\nsplitAt i s == {before: take i s, after: drop i s}\n```\n\n*From: Data.String.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "splitAt", "Data.String.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "splitAt" }, "sortText": "Z.splitAt", "additionalTextEdits": null, "filterText": null, "insertText": "splitAt", "kind": 12, "label": "splitAt" }, { "detail": "Pattern → String → Array String", "documentation": { "kind": "markdown", "value": "Returns the substrings of the second string separated along occurences\nof the first string.\n\n```purescript\nsplit (Pattern \" \") \"hello world\" == [\"hello\", \"world\"]\n```\n\n*From: Data.String.Common*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "split", "Data.String.Common", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "split" }, "sortText": "Z.split", "additionalTextEdits": null, "filterText": null, "insertText": "split", "kind": 12, "label": "split" }, { "detail": "CodePoint → NonEmptyString", "documentation": { "kind": "markdown", "value": "\n*From: Data.String.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "singleton", "Data.String.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "singleton" }, "sortText": "Z.singleton", "additionalTextEdits": null, "filterText": null, "insertText": "singleton", "kind": 12, "label": "singleton" }, { "detail": "CodePoint → String → NonEmptyString", "documentation": { "kind": "markdown", "value": "\n*From: Data.String.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "snoc", "Data.String.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "snoc" }, "sortText": "Z.snoc", "additionalTextEdits": null, "filterText": null, "insertText": "snoc", "kind": 12, "label": "snoc" }, { "detail": "Int → NonEmptyString → { after ∷ Maybe NonEmptyString , before ∷ Maybe NonEmptyString }", "documentation": { "kind": "markdown", "value": "\n*From: Data.String.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "splitAt", "Data.String.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "splitAt" }, "sortText": "Z.splitAt", "additionalTextEdits": null, "filterText": null, "insertText": "splitAt", "kind": 12, "label": "splitAt" }, { "detail": "Pattern → NonEmptyString → Maybe NonEmptyString", "documentation": { "kind": "markdown", "value": "If the string starts with the given prefix, return the portion of the\nstring left after removing it. If the prefix does not match or there is no\nremainder, the result will be `Nothing`.\n\n```purescript\nstripPrefix (Pattern \"http:\") (NonEmptyString \"http://purescript.org\") == Just (NonEmptyString \"//purescript.org\")\nstripPrefix (Pattern \"http:\") (NonEmptyString \"https://purescript.org\") == Nothing\nstripPrefix (Pattern \"Hello!\") (NonEmptyString \"Hello!\") == Nothing\n```\n\n*From: Data.String.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "stripPrefix", "Data.String.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "stripPrefix" }, "sortText": "Z.stripPrefix", "additionalTextEdits": null, "filterText": null, "insertText": "stripPrefix", "kind": 12, "label": "stripPrefix" }, { "detail": "Pattern → NonEmptyString → Maybe NonEmptyString", "documentation": { "kind": "markdown", "value": "If the string ends with the given suffix, return the portion of the\nstring left after removing it. If the suffix does not match or there is no\nremainder, the result will be `Nothing`.\n\n```purescript\nstripSuffix (Pattern \".exe\") (NonEmptyString \"purs.exe\") == Just (NonEmptyString \"purs\")\nstripSuffix (Pattern \".exe\") (NonEmptyString \"purs\") == Nothing\nstripSuffix (Pattern \"Hello!\") (NonEmptyString \"Hello!\") == Nothing\n```\n\n*From: Data.String.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "stripSuffix", "Data.String.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "stripSuffix" }, "sortText": "Z.stripSuffix", "additionalTextEdits": null, "filterText": null, "insertText": "stripSuffix", "kind": 12, "label": "stripSuffix" }, { "detail": "CodePoint → NonEmptyString", "documentation": { "kind": "markdown", "value": "\n*From: Data.String.NonEmpty.CodePoints*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "singleton", "Data.String.NonEmpty.CodePoints", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "singleton" }, "sortText": "Z.singleton", "additionalTextEdits": null, "filterText": null, "insertText": "singleton", "kind": 12, "label": "singleton" }, { "detail": "CodePoint → String → NonEmptyString", "documentation": { "kind": "markdown", "value": "\n*From: Data.String.NonEmpty.CodePoints*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "snoc", "Data.String.NonEmpty.CodePoints", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "snoc" }, "sortText": "Z.snoc", "additionalTextEdits": null, "filterText": null, "insertText": "snoc", "kind": 12, "label": "snoc" }, { "detail": "Int → NonEmptyString → { after ∷ Maybe NonEmptyString , before ∷ Maybe NonEmptyString }", "documentation": { "kind": "markdown", "value": "\n*From: Data.String.NonEmpty.CodePoints*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "splitAt", "Data.String.NonEmpty.CodePoints", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "splitAt" }, "sortText": "Z.splitAt", "additionalTextEdits": null, "filterText": null, "insertText": "splitAt", "kind": 12, "label": "splitAt" }, { "detail": "Char → NonEmptyString", "documentation": { "kind": "markdown", "value": "Creates a `NonEmptyString` from a character.\n\n*From: Data.String.NonEmpty.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "singleton", "Data.String.NonEmpty.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "singleton" }, "sortText": "Z.singleton", "additionalTextEdits": null, "filterText": null, "insertText": "singleton", "kind": 12, "label": "singleton" }, { "detail": "Char → String → NonEmptyString", "documentation": { "kind": "markdown", "value": "Creates a `NonEmptyString` from a string by appending a character.\n\n```purescript\nsnoc 'c' \"ab\" = NonEmptyString \"abc\"\nsnoc 'a' \"\" = NonEmptyString \"a\"\n```\n\n*From: Data.String.NonEmpty.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "snoc", "Data.String.NonEmpty.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "snoc" }, "sortText": "Z.snoc", "additionalTextEdits": null, "filterText": null, "insertText": "snoc", "kind": 12, "label": "snoc" }, { "detail": "Int → NonEmptyString → { after ∷ Maybe NonEmptyString , before ∷ Maybe NonEmptyString }", "documentation": { "kind": "markdown", "value": "Returns the substrings of a split at the given index, if the index is\nwithin bounds.\n\n```purescript\nsplitAt 2 (NonEmptyString \"Hello World\") == Just { before: Just (NonEmptyString \"He\"), after: Just (NonEmptyString \"llo World\") }\nsplitAt 10 (NonEmptyString \"Hi\") == Nothing\n```\n\n*From: Data.String.NonEmpty.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "splitAt", "Data.String.NonEmpty.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "splitAt" }, "sortText": "Z.splitAt", "additionalTextEdits": null, "filterText": null, "insertText": "splitAt", "kind": 12, "label": "splitAt" }, { "detail": "Pattern → NonEmptyString → Maybe NonEmptyString", "documentation": { "kind": "markdown", "value": "If the string starts with the given prefix, return the portion of the\nstring left after removing it. If the prefix does not match or there is no\nremainder, the result will be `Nothing`.\n\n```purescript\nstripPrefix (Pattern \"http:\") (NonEmptyString \"http://purescript.org\") == Just (NonEmptyString \"//purescript.org\")\nstripPrefix (Pattern \"http:\") (NonEmptyString \"https://purescript.org\") == Nothing\nstripPrefix (Pattern \"Hello!\") (NonEmptyString \"Hello!\") == Nothing\n```\n\n*From: Data.String.NonEmpty.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "stripPrefix", "Data.String.NonEmpty.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "stripPrefix" }, "sortText": "Z.stripPrefix", "additionalTextEdits": null, "filterText": null, "insertText": "stripPrefix", "kind": 12, "label": "stripPrefix" }, { "detail": "Pattern → NonEmptyString → Maybe NonEmptyString", "documentation": { "kind": "markdown", "value": "If the string ends with the given suffix, return the portion of the\nstring left after removing it. If the suffix does not match or there is no\nremainder, the result will be `Nothing`.\n\n```purescript\nstripSuffix (Pattern \".exe\") (NonEmptyString \"purs.exe\") == Just (NonEmptyString \"purs\")\nstripSuffix (Pattern \".exe\") (NonEmptyString \"purs\") == Nothing\nstripSuffix (Pattern \"Hello!\") (NonEmptyString \"Hello!\") == Nothing\n```\n\n*From: Data.String.NonEmpty.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "stripSuffix", "Data.String.NonEmpty.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "stripSuffix" }, "sortText": "Z.stripSuffix", "additionalTextEdits": null, "filterText": null, "insertText": "stripSuffix", "kind": 12, "label": "stripSuffix" }, { "detail": "Regex → String", "documentation": { "kind": "markdown", "value": "Returns the pattern string used to construct the given `Regex`.\n\n*From: Data.String.Regex*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "source", "Data.String.Regex", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "source" }, "sortText": "Z.source", "additionalTextEdits": null, "filterText": null, "insertText": "source", "kind": 12, "label": "source" }, { "detail": "Regex → String → Maybe Int", "documentation": { "kind": "markdown", "value": "Returns `Just` the index of the first match of the `Regex` in the string,\nor `Nothing` if there is no match.\n\n*From: Data.String.Regex*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "search", "Data.String.Regex", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "search" }, "sortText": "Z.search", "additionalTextEdits": null, "filterText": null, "insertText": "search", "kind": 12, "label": "search" }, { "detail": "Regex → String → Array String", "documentation": { "kind": "markdown", "value": "Split the string into an array of substrings along occurences of the `Regex`.\n\n*From: Data.String.Regex*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "split", "Data.String.Regex", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "split" }, "sortText": "Z.split", "additionalTextEdits": null, "filterText": null, "insertText": "split", "kind": 12, "label": "split" }, { "detail": "RegexFlags", "documentation": { "kind": "markdown", "value": "Only sticky flag set to true\n\n*From: Data.String.Regex.Flags*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sticky", "Data.String.Regex.Flags", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "sticky" }, "sortText": "Z.sticky", "additionalTextEdits": null, "filterText": null, "insertText": "sticky", "kind": 12, "label": "sticky" }, { "detail": "Hour → Time → Time", "documentation": { "kind": "markdown", "value": "Alters the hour component of a time value.\n\n*From: Data.Time*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "setHour", "Data.Time", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "setHour" }, "sortText": "Z.setHour", "additionalTextEdits": null, "filterText": null, "insertText": "setHour", "kind": 12, "label": "setHour" }, { "detail": "Minute → Time → Time", "documentation": { "kind": "markdown", "value": "Alters the minute component of a time value.\n\n*From: Data.Time*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "setMinute", "Data.Time", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "setMinute" }, "sortText": "Z.setMinute", "additionalTextEdits": null, "filterText": null, "insertText": "setMinute", "kind": 12, "label": "setMinute" }, { "detail": "Time → Second", "documentation": { "kind": "markdown", "value": "The second component of a time value.\n\n*From: Data.Time*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "second", "Data.Time", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "second" }, "sortText": "Z.second", "additionalTextEdits": null, "filterText": null, "insertText": "second", "kind": 12, "label": "second" }, { "detail": "Second → Time → Time", "documentation": { "kind": "markdown", "value": "Alters the second component of a time value.\n\n*From: Data.Time*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "setSecond", "Data.Time", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "setSecond" }, "sortText": "Z.setSecond", "additionalTextEdits": null, "filterText": null, "insertText": "setSecond", "kind": 12, "label": "setSecond" }, { "detail": "Millisecond → Time → Time", "documentation": { "kind": "markdown", "value": "Alters the millisecond component of a time value.\n\n*From: Data.Time*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "setMillisecond", "Data.Time", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "setMillisecond" }, "sortText": "Z.setMillisecond", "additionalTextEdits": null, "filterText": null, "insertText": "setMillisecond", "kind": 12, "label": "setMillisecond" }, { "detail": "∀ a m t. Traversable t ⇒ Applicative m ⇒ t (m a) → m (t a)", "documentation": { "kind": "markdown", "value": "\n*From: Data.Traversable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sequence", "Data.Traversable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "sequence" }, "sortText": "Z.sequence", "additionalTextEdits": null, "filterText": null, "insertText": "sequence", "kind": 12, "label": "sequence" }, { "detail": "∀ t a m. Traversable t ⇒ Applicative m ⇒ t (m a) → m (t a)", "documentation": { "kind": "markdown", "value": "A default implementation of `sequence` using `traverse`.\n\n*From: Data.Traversable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sequenceDefault", "Data.Traversable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "sequenceDefault" }, "sortText": "Z.sequenceDefault", "additionalTextEdits": null, "filterText": null, "insertText": "sequenceDefault", "kind": 12, "label": "sequenceDefault" }, { "detail": "∀ a b f. Traversable f ⇒ (b → a → b) → b → f a → f b", "documentation": { "kind": "markdown", "value": "Fold a data structure from the left, keeping all intermediate results\ninstead of only the final result. Note that the initial value does not\nappear in the result (unlike Haskell's `Prelude.scanl`).\n\n```purescript\nscanl (+) 0 [1,2,3] = [1,3,6]\nscanl (-) 10 [1,2,3] = [9,7,4]\n```\n\n*From: Data.Traversable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "scanl", "Data.Traversable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "scanl" }, "sortText": "Z.scanl", "additionalTextEdits": null, "filterText": null, "insertText": "scanl", "kind": 12, "label": "scanl" }, { "detail": "∀ a b f. Traversable f ⇒ (a → b → b) → b → f a → f b", "documentation": { "kind": "markdown", "value": "Fold a data structure from the right, keeping all intermediate results\ninstead of only the final result. Note that the initial value does not\nappear in the result (unlike Haskell's `Prelude.scanr`).\n\n```purescript\nscanr (+) 0 [1,2,3] = [6,5,3]\nscanr (flip (-)) 10 [1,2,3] = [4,5,7]\n```\n\n*From: Data.Traversable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "scanr", "Data.Traversable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "scanr" }, "sortText": "Z.scanr", "additionalTextEdits": null, "filterText": null, "insertText": "scanr", "kind": 12, "label": "scanr" }, { "detail": "∀ a f m. Applicative m ⇒ Foldable f ⇒ f (m a) → m Unit", "documentation": { "kind": "markdown", "value": "Perform all of the effects in some data structure in the order\ngiven by the `Foldable` instance, ignoring the final result.\n\nFor example:\n\n```purescript\nsequence_ [ trace \"Hello, \", trace \" world!\" ]\n```\n\n*From: Data.Traversable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sequence_", "Data.Traversable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "sequence_" }, "sortText": "Z.sequence_", "additionalTextEdits": null, "filterText": null, "insertText": "sequence_", "kind": 12, "label": "sequence_" }, { "detail": "∀ a f. Foldable f ⇒ Semiring a ⇒ f a → a", "documentation": { "kind": "markdown", "value": "Find the sum of the numeric values in a data structure.\n\n*From: Data.Traversable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sum", "Data.Traversable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "sum" }, "sortText": "Z.sum", "additionalTextEdits": null, "filterText": null, "insertText": "sum", "kind": 12, "label": "sum" }, { "detail": "∀ s a. StateL s a → s → Accum s a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Traversable.Accum.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "stateL", "Data.Traversable.Accum.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "stateL" }, "sortText": "Z.stateL", "additionalTextEdits": null, "filterText": null, "insertText": "stateL", "kind": 12, "label": "stateL" }, { "detail": "∀ s a. StateR s a → s → Accum s a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Traversable.Accum.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "stateR", "Data.Traversable.Accum.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "stateR" }, "sortText": "Z.stateR", "additionalTextEdits": null, "filterText": null, "insertText": "stateR", "kind": 12, "label": "stateR" }, { "detail": "∀ i a b f. TraversableWithIndex i f ⇒ (i → b → a → b) → b → f a → f b", "documentation": { "kind": "markdown", "value": "Fold a data structure from the left with access to the indices, keeping\nall intermediate results instead of only the final result. Note that the\ninitial value does not appear in the result (unlike Haskell's\n`Prelude.scanl`).\n\n```purescript\nscanlWithIndex (\\i y x -> i + y + x) 0 [1, 2, 3] = [1, 4, 9]\n```\n\n*From: Data.TraversableWithIndex*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "scanlWithIndex", "Data.TraversableWithIndex", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "scanlWithIndex" }, "sortText": "Z.scanlWithIndex", "additionalTextEdits": null, "filterText": null, "insertText": "scanlWithIndex", "kind": 12, "label": "scanlWithIndex" }, { "detail": "∀ i a b f. TraversableWithIndex i f ⇒ (i → a → b → b) → b → f a → f b", "documentation": { "kind": "markdown", "value": "Fold a data structure from the right with access to the indices, keeping\nall intermediate results instead of only the final result. Note that the\ninitial value does not appear in the result (unlike Haskell's `Prelude.scanr`).\n\n```purescript\nscanrWithIndex (\\i x y -> i + x + y) 0 [1, 2, 3] = [9, 8, 5]\n```\n\n*From: Data.TraversableWithIndex*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "scanrWithIndex", "Data.TraversableWithIndex", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "scanrWithIndex" }, "sortText": "Z.scanrWithIndex", "additionalTextEdits": null, "filterText": null, "insertText": "scanrWithIndex", "kind": 12, "label": "scanrWithIndex" }, { "detail": "∀ a b. Tuple a b → b", "documentation": { "kind": "markdown", "value": "Returns the second component of a tuple.\n\n*From: Data.Tuple*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "snd", "Data.Tuple", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "snd" }, "sortText": "Z.snd", "additionalTextEdits": null, "filterText": null, "insertText": "snd", "kind": 12, "label": "snd" }, { "detail": "∀ a b. Tuple a b → Tuple b a", "documentation": { "kind": "markdown", "value": "Exchange the first and second components of a tuple.\n\n*From: Data.Tuple*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "swap", "Data.Tuple", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "swap" }, "sortText": "Z.swap", "additionalTextEdits": null, "filterText": null, "insertText": "swap", "kind": 12, "label": "swap" }, { "detail": "∀ f a. Unfoldable1 f ⇒ a → f a", "documentation": { "kind": "markdown", "value": "Contain a single value. For example:\n\n``` purescript\nsingleton \"foo\" == (NEL.singleton \"foo\" :: NEL.NonEmptyList String)\n```\n\n*From: Data.Unfoldable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "singleton", "Data.Unfoldable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "singleton" }, "sortText": "Z.singleton", "additionalTextEdits": null, "filterText": null, "insertText": "singleton", "kind": 12, "label": "singleton" }, { "detail": "∀ f a. Unfoldable1 f ⇒ a → f a", "documentation": { "kind": "markdown", "value": "Contain a single value. For example:\n\n``` purescript\nsingleton \"foo\" == (NEL.singleton \"foo\" :: NEL.NonEmptyList String)\n```\n\n*From: Data.Unfoldable1*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "singleton", "Data.Unfoldable1", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "singleton" }, "sortText": "Z.singleton", "additionalTextEdits": null, "filterText": null, "insertText": "singleton", "kind": 12, "label": "singleton" }, { "detail": "∀ a. AVar a → Effect (AVarStatus a)", "documentation": { "kind": "markdown", "value": "Synchronously checks the status of an AVar.\n\n*From: Effect.AVar*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "status", "Effect.AVar", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "status" }, "sortText": "Z.status", "additionalTextEdits": null, "filterText": null, "insertText": "status", "kind": 12, "label": "status" }, { "detail": "∀ a. Aff a → Aff (Fiber a)", "documentation": { "kind": "markdown", "value": "Suspends an `Aff` from within a parent `Aff` context, returning the `Fiber`.\nA suspended `Aff` is not executed until a consumer observes the result\nwith `joinFiber`.\n\n*From: Effect.Aff*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "suspendAff", "Effect.Aff", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "suspendAff" }, "sortText": "Z.suspendAff", "additionalTextEdits": null, "filterText": null, "insertText": "suspendAff", "kind": 12, "label": "suspendAff" }, { "detail": "∀ a. Aff a → Aff a", "documentation": { "kind": "markdown", "value": "Creates a new supervision context for some `Aff`, guaranteeing fiber\ncleanup when the parent completes. Any pending fibers forked within\nthe context will be killed and have their cancelers run.\n\n*From: Effect.Aff*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "supervise", "Effect.Aff", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "supervise" }, "sortText": "Z.supervise", "additionalTextEdits": null, "filterText": null, "insertText": "supervise", "kind": 12, "label": "supervise" }, { "detail": "∀ m f. Parallel f m ⇒ (∀ a. f a → m a)", "documentation": { "kind": "markdown", "value": "\n*From: Effect.Aff*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sequential", "Effect.Aff", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "sequential" }, "sortText": "Z.sequential", "additionalTextEdits": null, "filterText": null, "insertText": "sequential", "kind": 12, "label": "sequential" }, { "detail": "∀ a. AVar a → Aff (AVarStatus a)", "documentation": { "kind": "markdown", "value": "Synchronously checks the status of an AVar.\n\n*From: Effect.Aff.AVar*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "status", "Effect.Aff.AVar", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "status" }, "sortText": "Z.status", "additionalTextEdits": null, "filterText": null, "insertText": "status", "kind": 12, "label": "status" }, { "detail": "Error → Maybe String", "documentation": { "kind": "markdown", "value": "Get the stack trace from a JavaScript error\n\n*From: Effect.Exception*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "stack", "Effect.Exception", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "stack" }, "sortText": "Z.stack", "additionalTextEdits": null, "filterText": null, "insertText": "stack", "kind": 12, "label": "stack" }, { "detail": "Radians → Number", "documentation": { "kind": "markdown", "value": "Returns the sine of the argument.\n\n*From: Math*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sin", "Math", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "sin" }, "sortText": "Z.sin", "additionalTextEdits": null, "filterText": null, "insertText": "sin", "kind": 12, "label": "sin" }, { "detail": "Number → Number", "documentation": { "kind": "markdown", "value": "Returns the square root of the argument.\n\n*From: Math*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sqrt", "Math", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "sqrt" }, "sortText": "Z.sqrt", "additionalTextEdits": null, "filterText": null, "insertText": "sqrt", "kind": 12, "label": "sqrt" }, { "detail": "Number", "documentation": { "kind": "markdown", "value": "The Square root of one half, around 0.707107.\n\n*From: Math*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sqrt1_2", "Math", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "sqrt1_2" }, "sortText": "Z.sqrt1_2", "additionalTextEdits": null, "filterText": null, "insertText": "sqrt1_2", "kind": 12, "label": "sqrt1_2" }, { "detail": "Number", "documentation": { "kind": "markdown", "value": "The square root of two, around 1.41421.\n\n*From: Math*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sqrt2", "Math", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "sqrt2" }, "sortText": "Z.sqrt2", "additionalTextEdits": null, "filterText": null, "insertText": "sqrt2", "kind": 12, "label": "sqrt2" }, { "detail": "∀ m buf. MutableBuffer buf m ⇒ Int → Int → buf → m Unit", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "setAtOffset", "Node.Buffer", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "setAtOffset" }, "sortText": "Z.setAtOffset", "additionalTextEdits": null, "filterText": null, "insertText": "setAtOffset", "kind": 12, "label": "setAtOffset" }, { "detail": "∀ m buf. MutableBuffer buf m ⇒ buf → m Int", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "size", "Node.Buffer", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "size" }, "sortText": "Z.size", "additionalTextEdits": null, "filterText": null, "insertText": "size", "kind": 12, "label": "size" }, { "detail": "∀ m buf. MutableBuffer buf m ⇒ Int → Int → buf → buf", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "slice", "Node.Buffer", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "slice" }, "sortText": "Z.slice", "additionalTextEdits": null, "filterText": null, "insertText": "slice", "kind": 12, "label": "slice" }, { "detail": "∀ m buf. MutableBuffer buf m ⇒ Int → Int → buf → m Unit", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer.Class*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "setAtOffset", "Node.Buffer.Class", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "setAtOffset" }, "sortText": "Z.setAtOffset", "additionalTextEdits": null, "filterText": null, "insertText": "setAtOffset", "kind": 12, "label": "setAtOffset" }, { "detail": "∀ m buf. MutableBuffer buf m ⇒ Int → Int → buf → buf", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer.Class*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "slice", "Node.Buffer.Class", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "slice" }, "sortText": "Z.slice", "additionalTextEdits": null, "filterText": null, "insertText": "slice", "kind": 12, "label": "slice" }, { "detail": "∀ m buf. MutableBuffer buf m ⇒ buf → m Int", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer.Class*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "size", "Node.Buffer.Class", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "size" }, "sortText": "Z.size", "additionalTextEdits": null, "filterText": null, "insertText": "size", "kind": 12, "label": "size" }, { "detail": "Offset → Offset → ImmutableBuffer → ImmutableBuffer", "documentation": { "kind": "markdown", "value": "Creates a new buffer slice that shares the memory of the original buffer.\n\n*From: Node.Buffer.Immutable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "slice", "Node.Buffer.Immutable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "slice" }, "sortText": "Z.slice", "additionalTextEdits": null, "filterText": null, "insertText": "slice", "kind": 12, "label": "slice" }, { "detail": "ImmutableBuffer → Int", "documentation": { "kind": "markdown", "value": "Returns the size of a buffer.\n\n*From: Node.Buffer.Immutable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "size", "Node.Buffer.Immutable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "size" }, "sortText": "Z.size", "additionalTextEdits": null, "filterText": null, "insertText": "size", "kind": 12, "label": "size" }, { "detail": "∀ buf m. Octet → Offset → buf → m Unit", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "setAtOffset", "Node.Buffer.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "setAtOffset" }, "sortText": "Z.setAtOffset", "additionalTextEdits": null, "filterText": null, "insertText": "setAtOffset", "kind": 12, "label": "setAtOffset" }, { "detail": "∀ buf. Offset → Offset → buf → buf", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "slice", "Node.Buffer.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "slice" }, "sortText": "Z.slice", "additionalTextEdits": null, "filterText": null, "insertText": "slice", "kind": 12, "label": "slice" }, { "detail": "∀ buf m. Monad m ⇒ buf → m Int", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "size", "Node.Buffer.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "size" }, "sortText": "Z.size", "additionalTextEdits": null, "filterText": null, "insertText": "size", "kind": 12, "label": "size" }, { "detail": "SymlinkType → String", "documentation": { "kind": "markdown", "value": "Convert a `SymlinkType` to a `String` in the format expected by the\nNode.js filesystem API.\n\n*From: Node.FS*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "symlinkTypeToNode", "Node.FS", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "symlinkTypeToNode" }, "sortText": "Z.symlinkTypeToNode", "additionalTextEdits": null, "filterText": null, "insertText": "symlinkTypeToNode", "kind": 12, "label": "symlinkTypeToNode" }, { "detail": "FilePath → Callback Stats → Effect Unit", "documentation": { "kind": "markdown", "value": "Gets file statistics.\n\n*From: Node.FS.Async*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "stat", "Node.FS.Async", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "stat" }, "sortText": "Z.stat", "additionalTextEdits": null, "filterText": null, "insertText": "stat", "kind": 12, "label": "stat" }, { "detail": "FilePath → FilePath → SymlinkType → Callback Unit → Effect Unit", "documentation": { "kind": "markdown", "value": "Creates a symlink.\n\n*From: Node.FS.Async*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "symlink", "Node.FS.Async", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "symlink" }, "sortText": "Z.symlink", "additionalTextEdits": null, "filterText": null, "insertText": "symlink", "kind": 12, "label": "symlink" }, { "detail": "Stats → DateTime", "documentation": { "kind": "markdown", "value": "\n*From: Node.FS.Stats*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "statusChangedTime", "Node.FS.Stats", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "statusChangedTime" }, "sortText": "Z.statusChangedTime", "additionalTextEdits": null, "filterText": null, "insertText": "statusChangedTime", "kind": 12, "label": "statusChangedTime" }, { "detail": "FilePath → Effect Stats", "documentation": { "kind": "markdown", "value": "Gets file statistics.\n\n*From: Node.FS.Sync*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "stat", "Node.FS.Sync", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "stat" }, "sortText": "Z.stat", "additionalTextEdits": null, "filterText": null, "insertText": "stat", "kind": 12, "label": "stat" }, { "detail": "FilePath → FilePath → SymlinkType → Effect Unit", "documentation": { "kind": "markdown", "value": "Creates a symlink.\n\n*From: Node.FS.Sync*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "symlink", "Node.FS.Sync", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "symlink" }, "sortText": "Z.symlink", "additionalTextEdits": null, "filterText": null, "insertText": "symlink", "kind": 12, "label": "symlink" }, { "detail": "String", "documentation": { "kind": "markdown", "value": "The platform-specific file separator. `\\\\` or `/`.\n\n*From: Node.Path*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sep", "Node.Path", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "sep" }, "sortText": "Z.sep", "additionalTextEdits": null, "filterText": null, "insertText": "sep", "kind": 12, "label": "sep" }, { "detail": "∀ w. Readable w → Encoding → Effect Unit", "documentation": { "kind": "markdown", "value": "Set the encoding used to read chunks as strings from the stream. This\nfunction may be useful when you are passing a readable stream to some other\nJavaScript library, which already expects an encoding to be set.\n\nWhere possible, you should try to use `onDataString` instead of this\nfunction.\n\n*From: Node.Stream*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "setEncoding", "Node.Stream", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "setEncoding" }, "sortText": "Z.setEncoding", "additionalTextEdits": null, "filterText": null, "insertText": "setEncoding", "kind": 12, "label": "setEncoding" }, { "detail": "∀ r. Writable r → Encoding → Effect Unit", "documentation": { "kind": "markdown", "value": "Set the default encoding used to write strings to the stream. This function\nis useful when you are passing a writable stream to some other JavaScript\nlibrary, which already expects a default encoding to be set. It has no\neffect on the behaviour of the `writeString` function (because that\nfunction ensures that the encoding is always supplied explicitly).\n\n*From: Node.Stream*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "setDefaultEncoding", "Node.Stream", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "setDefaultEncoding" }, "sortText": "Z.setDefaultEncoding", "additionalTextEdits": null, "filterText": null, "insertText": "setDefaultEncoding", "kind": 12, "label": "setDefaultEncoding" }, { "detail": "∀ a m r. Monad m ⇒ Pipe (m a) a m r", "documentation": { "kind": "markdown", "value": "Convert a stream of actions to a stream of values\n\n*From: Pipes.Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sequence", "Pipes.Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "sequence" }, "sortText": "Z.sequence", "additionalTextEdits": null, "filterText": null, "insertText": "sequence", "kind": 12, "label": "sequence" }, { "detail": "∀ a b x m r. Monad m ⇒ (x → a → x) → x → (x → b) → Pipe a b m r", "documentation": { "kind": "markdown", "value": "Left scan\n\n*From: Pipes.Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "scan", "Pipes.Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "scan" }, "sortText": "Z.scan", "additionalTextEdits": null, "filterText": null, "insertText": "scan", "kind": 12, "label": "scan" }, { "detail": "∀ a b x m r. Monad m ⇒ (x → a → m x) → m x → (x → m b) → Pipe a b m r", "documentation": { "kind": "markdown", "value": "Monadic left scan\n\n*From: Pipes.Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "scanM", "Pipes.Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "scanM" }, "sortText": "Z.scanM", "additionalTextEdits": null, "filterText": null, "insertText": "scanM", "kind": 12, "label": "scanM" }, { "detail": "∀ a m r. Monad m ⇒ Show a ⇒ Pipe a String m r", "documentation": { "kind": "markdown", "value": "Convert `Show`able values to `String`s\n\n*From: Pipes.Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "show", "Pipes.Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "show" }, "sortText": "Z.show", "additionalTextEdits": null, "filterText": null, "insertText": "show", "kind": 12, "label": "show" }, { "detail": "∀ a m r. Monad m ⇒ Pipe a a m r", "documentation": { "kind": "markdown", "value": "Evaluate all values flowing downstream to WHNF\nXXX: Is this needed in purescript?\n\n*From: Pipes.Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "seq", "Pipes.Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "seq" }, "sortText": "Z.seq", "additionalTextEdits": null, "filterText": null, "insertText": "seq", "kind": 12, "label": "seq" }, { "detail": "∀ a. Show a ⇒ a → String", "documentation": { "kind": "markdown", "value": "\n*From: Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "show", "Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "show" }, "sortText": "Z.show", "additionalTextEdits": null, "filterText": null, "insertText": "show", "kind": 12, "label": "show" }, { "detail": "∀ a. Ring a ⇒ a → a → a", "documentation": { "kind": "markdown", "value": "\n*From: Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sub", "Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "sub" }, "sortText": "Z.sub", "additionalTextEdits": null, "filterText": null, "insertText": "sub", "kind": 12, "label": "sub" }, { "detail": "Unit → BigInt", "documentation": { "kind": "markdown", "value": "\n*From: Problem1*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "solution", "Problem1", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "solution" }, "sortText": "Z.solution", "additionalTextEdits": null, "filterText": null, "insertText": "solution", "kind": 12, "label": "solution" }, { "detail": "Unit → BigInt", "documentation": { "kind": "markdown", "value": "\n*From: Problem10*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "solution", "Problem10", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "solution" }, "sortText": "Z.solution", "additionalTextEdits": null, "filterText": null, "insertText": "solution", "kind": 12, "label": "solution" }, { "detail": "Unit → BigInt", "documentation": { "kind": "markdown", "value": "\n*From: Problem11*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "solution", "Problem11", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "solution" }, "sortText": "Z.solution", "additionalTextEdits": null, "filterText": null, "insertText": "solution", "kind": 12, "label": "solution" }, { "detail": "Unit → BigInt", "documentation": { "kind": "markdown", "value": "\n*From: Problem2*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "solution", "Problem2", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "solution" }, "sortText": "Z.solution", "additionalTextEdits": null, "filterText": null, "insertText": "solution", "kind": 12, "label": "solution" }, { "detail": "Unit → BigInt", "documentation": { "kind": "markdown", "value": "\n*From: Problem3*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "solution", "Problem3", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "solution" }, "sortText": "Z.solution", "additionalTextEdits": null, "filterText": null, "insertText": "solution", "kind": 12, "label": "solution" }, { "detail": "Unit → BigInt", "documentation": { "kind": "markdown", "value": "\n*From: Problem4*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "solution", "Problem4", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "solution" }, "sortText": "Z.solution", "additionalTextEdits": null, "filterText": null, "insertText": "solution", "kind": 12, "label": "solution" }, { "detail": "Unit → BigInt", "documentation": { "kind": "markdown", "value": "\n*From: Problem5*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "solution", "Problem5", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "solution" }, "sortText": "Z.solution", "additionalTextEdits": null, "filterText": null, "insertText": "solution", "kind": 12, "label": "solution" }, { "detail": "Unit → BigInt", "documentation": { "kind": "markdown", "value": "\n*From: Problem6*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "solution", "Problem6", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "solution" }, "sortText": "Z.solution", "additionalTextEdits": null, "filterText": null, "insertText": "solution", "kind": 12, "label": "solution" }, { "detail": "Unit → BigInt", "documentation": { "kind": "markdown", "value": "\n*From: Problem7*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "solution", "Problem7", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "solution" }, "sortText": "Z.solution", "additionalTextEdits": null, "filterText": null, "insertText": "solution", "kind": 12, "label": "solution" }, { "detail": "Unit → BigInt", "documentation": { "kind": "markdown", "value": "\n*From: Problem8*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "solution", "Problem8", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "solution" }, "sortText": "Z.solution", "additionalTextEdits": null, "filterText": null, "insertText": "solution", "kind": 12, "label": "solution" }, { "detail": "Unit → BigInt", "documentation": { "kind": "markdown", "value": "Get the solution to problem 9 of project euler.\n\nMathematically, we need to find three natural numbers,\na, b, and c, that satisfy the following requirements:\n\n```\na < b < c\na + b + c = 100\na ^ 2 + b ^ 2 = c ^ 2\n```\n\nThere is only one triple of numbers that satisfies\nthese requirements.\n\nAfter getting a, b, and c, return their product.\n\n*From: Problem9*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "solution", "Problem9", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "solution" }, "sortText": "Z.solution", "additionalTextEdits": null, "filterText": null, "insertText": "solution", "kind": 12, "label": "solution" }, { "detail": "Array (Unit → BigInt)", "documentation": { "kind": "markdown", "value": "\n*From: Problems*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "solutions", "Problems", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "solutions" }, "sortText": "Z.solutions", "additionalTextEdits": null, "filterText": null, "insertText": "solutions", "kind": 12, "label": "solutions" }, { "detail": "∀ r1 r2 r l a b. IsSymbol l ⇒ Cons l a r r1 ⇒ Cons l b r r2 ⇒ SProxy l → b → Record r1 → Record r2", "documentation": { "kind": "markdown", "value": "Set a property for a label which is specified using a value-level proxy for\na type-level string.\n\nFor example:\n\n```purescript\nset (SProxy :: SProxy \"x\")\n :: forall r a b. a -> { x :: b | r } -> { x :: a | r }\n```\n\n*From: Record*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "set", "Record", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "set" }, "sortText": "Z.set", "additionalTextEdits": null, "filterText": null, "insertText": "set", "kind": 12, "label": "set" }, { "detail": "Spec Unit", "documentation": { "kind": "markdown", "value": "\n*From: Test.ArrayUtilsSpec*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "spec", "Test.ArrayUtilsSpec", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "spec" }, "sortText": "Z.spec", "additionalTextEdits": null, "filterText": null, "insertText": "spec", "kind": 12, "label": "spec" }, { "detail": "SpecT Aff Unit Identity Unit", "documentation": { "kind": "markdown", "value": "\n*From: Test.FatPreludeSpec*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "spec", "Test.FatPreludeSpec", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "spec" }, "sortText": "Z.spec", "additionalTextEdits": null, "filterText": null, "insertText": "spec", "kind": 12, "label": "spec" }, { "detail": "Spec Unit", "documentation": { "kind": "markdown", "value": "\n*From: Test.MathUtilsSpec*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "spec", "Test.MathUtilsSpec", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "spec" }, "sortText": "Z.spec", "additionalTextEdits": null, "filterText": null, "insertText": "spec", "kind": 12, "label": "spec" }, { "detail": "Spec Unit", "documentation": { "kind": "markdown", "value": "\n*From: Test.ProblemsSpec*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "spec", "Test.ProblemsSpec", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "spec" }, "sortText": "Z.spec", "additionalTextEdits": null, "filterText": null, "insertText": "spec", "kind": 12, "label": "spec" }, { "detail": "∀ a. (GenState → Gen a) → Gen a", "documentation": { "kind": "markdown", "value": "Create a random generator which uses the generator state explicitly.\n\n*From: Test.QuickCheck.Gen*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "stateful", "Test.QuickCheck.Gen", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "stateful" }, "sortText": "Z.stateful", "additionalTextEdits": null, "filterText": null, "insertText": "stateful", "kind": 12, "label": "stateful" }, { "detail": "∀ a. Gen a → (a → Boolean) → Gen a", "documentation": { "kind": "markdown", "value": "Ensure that a generator only produces values that match a predicate. If\nthe predicate always returns false the generator will loop forever.\n\n*From: Test.QuickCheck.Gen*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "suchThat", "Test.QuickCheck.Gen", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "suchThat" }, "sortText": "Z.suchThat", "additionalTextEdits": null, "filterText": null, "insertText": "suchThat", "kind": 12, "label": "suchThat" }, { "detail": "∀ a. (Size → Gen a) → Gen a", "documentation": { "kind": "markdown", "value": "Create a random generator which depends on the size parameter.\n\n*From: Test.QuickCheck.Gen*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sized", "Test.QuickCheck.Gen", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "sized" }, "sortText": "Z.sized", "additionalTextEdits": null, "filterText": null, "insertText": "sized", "kind": 12, "label": "sized" }, { "detail": "∀ a. Array a → Gen (Array a)", "documentation": { "kind": "markdown", "value": "Generate a random permutation of the given array\n\n*From: Test.QuickCheck.Gen*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "shuffle", "Test.QuickCheck.Gen", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "shuffle" }, "sortText": "Z.shuffle", "additionalTextEdits": null, "filterText": null, "insertText": "shuffle", "kind": 12, "label": "shuffle" }, { "detail": "∀ a. Seed → Size → Gen a → Array a", "documentation": { "kind": "markdown", "value": "Sample a random generator\n\n*From: Test.QuickCheck.Gen*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sample", "Test.QuickCheck.Gen", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "sample" }, "sortText": "Z.sample", "additionalTextEdits": null, "filterText": null, "insertText": "sample", "kind": 12, "label": "sample" }, { "detail": "∀ m g i a. Monad m ⇒ SpecT g i m a → SpecT g i m a", "documentation": { "kind": "markdown", "value": "marks all spec items of the given spec to be evaluated sequentially.\n\n*From: Test.Spec*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "sequential", "Test.Spec", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "sequential" }, "sortText": "Z.sequential", "additionalTextEdits": null, "filterText": null, "insertText": "sequential", "kind": 12, "label": "sequential" }, { "detail": "∀ m t. MonadThrow Error m ⇒ Show t ⇒ Eq t ⇒ t → t → m Unit", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Assertions*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "shouldEqual", "Test.Spec.Assertions", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "shouldEqual" }, "sortText": "Z.shouldEqual", "additionalTextEdits": null, "filterText": null, "insertText": "shouldEqual", "kind": 12, "label": "shouldEqual" }, { "detail": "∀ m t. MonadThrow Error m ⇒ Show t ⇒ Eq t ⇒ t → t → m Unit", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Assertions*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "shouldNotEqual", "Test.Spec.Assertions", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "shouldNotEqual" }, "sortText": "Z.shouldNotEqual", "additionalTextEdits": null, "filterText": null, "insertText": "shouldNotEqual", "kind": 12, "label": "shouldNotEqual" }, { "detail": "∀ m f a. MonadThrow Error m ⇒ Show a ⇒ Eq a ⇒ Show (f a) ⇒ Foldable f ⇒ f a → a → m Unit", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Assertions*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "shouldContain", "Test.Spec.Assertions", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "shouldContain" }, "sortText": "Z.shouldContain", "additionalTextEdits": null, "filterText": null, "insertText": "shouldContain", "kind": 12, "label": "shouldContain" }, { "detail": "∀ m f a. MonadThrow Error m ⇒ Show a ⇒ Eq a ⇒ Show (f a) ⇒ Foldable f ⇒ f a → a → m Unit", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Assertions*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "shouldNotContain", "Test.Spec.Assertions", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "shouldNotContain" }, "sortText": "Z.shouldNotContain", "additionalTextEdits": null, "filterText": null, "insertText": "shouldNotContain", "kind": 12, "label": "shouldNotContain" }, { "detail": "∀ m t. MonadThrow Error m ⇒ Show t ⇒ t → (t → Boolean) → m Unit", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Assertions*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "shouldNotSatisfy", "Test.Spec.Assertions", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "shouldNotSatisfy" }, "sortText": "Z.shouldNotSatisfy", "additionalTextEdits": null, "filterText": null, "insertText": "shouldNotSatisfy", "kind": 12, "label": "shouldNotSatisfy" }, { "detail": "∀ m t. MonadThrow Error m ⇒ Show t ⇒ t → (t → Boolean) → m Unit", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Assertions*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "shouldSatisfy", "Test.Spec.Assertions", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "shouldSatisfy" }, "sortText": "Z.shouldSatisfy", "additionalTextEdits": null, "filterText": null, "insertText": "shouldSatisfy", "kind": 12, "label": "shouldSatisfy" }, { "detail": "∀ m t. MonadThrow Error m ⇒ Eq t ⇒ Show t ⇒ m t → t → m Unit", "documentation": { "kind": "markdown", "value": "Asserts that `m t` returns `t`\n\n*From: Test.Spec.Assertions*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "shouldReturn", "Test.Spec.Assertions", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "shouldReturn" }, "sortText": "Z.shouldReturn", "additionalTextEdits": null, "filterText": null, "insertText": "shouldReturn", "kind": 12, "label": "shouldReturn" }, { "detail": "∀ m t. MonadThrow Error m ⇒ Eq t ⇒ Show t ⇒ m t → t → m Unit", "documentation": { "kind": "markdown", "value": "Asserts that `m t` does not return `t`\n\n*From: Test.Spec.Assertions*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "shouldNotReturn", "Test.Spec.Assertions", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "shouldNotReturn" }, "sortText": "Z.shouldNotReturn", "additionalTextEdits": null, "filterText": null, "insertText": "shouldNotReturn", "kind": 12, "label": "shouldNotReturn" }, { "detail": "∀ m. MonadThrow Error m ⇒ String → String → m Unit", "documentation": { "kind": "markdown", "value": "Asserts `string` contains `subs`\n\n```purescript\nstring `shouldContain` subs\n```\n\n*From: Test.Spec.Assertions.String*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "shouldContain", "Test.Spec.Assertions.String", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "shouldContain" }, "sortText": "Z.shouldContain", "additionalTextEdits": null, "filterText": null, "insertText": "shouldContain", "kind": 12, "label": "shouldContain" }, { "detail": "∀ m. MonadThrow Error m ⇒ String → String → m Unit", "documentation": { "kind": "markdown", "value": "Asserts `string` does not contain `subs`\n\n```purescript\nstring `shouldContain` subs\n```\n\n*From: Test.Spec.Assertions.String*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "shouldNotContain", "Test.Spec.Assertions.String", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "shouldNotContain" }, "sortText": "Z.shouldNotContain", "additionalTextEdits": null, "filterText": null, "insertText": "shouldNotContain", "kind": 12, "label": "shouldNotContain" }, { "detail": "∀ m. MonadThrow Error m ⇒ String → String → m Unit", "documentation": { "kind": "markdown", "value": "Asserts `string` starts with `prefix`\n\n```purescript\nstring `shouldStartWith` prefix\n```\n\n*From: Test.Spec.Assertions.String*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "shouldStartWith", "Test.Spec.Assertions.String", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "shouldStartWith" }, "sortText": "Z.shouldStartWith", "additionalTextEdits": null, "filterText": null, "insertText": "shouldStartWith", "kind": 12, "label": "shouldStartWith" }, { "detail": "∀ m. MonadThrow Error m ⇒ String → String → m Unit", "documentation": { "kind": "markdown", "value": "Asserts `string` ends with `suffix`\n\n```purescript\nstring `shouldEndWith` suffix\n```\n\n*From: Test.Spec.Assertions.String*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "shouldEndWith", "Test.Spec.Assertions.String", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "shouldEndWith" }, "sortText": "Z.shouldEndWith", "additionalTextEdits": null, "filterText": null, "insertText": "shouldEndWith", "kind": 12, "label": "shouldEndWith" }, { "detail": "Reporter", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Reporter*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "specReporter", "Test.Spec.Reporter", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "specReporter" }, "sortText": "Z.specReporter", "additionalTextEdits": null, "filterText": null, "insertText": "specReporter", "kind": 12, "label": "specReporter" }, { "detail": "Reporter", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Reporter.Spec*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "specReporter", "Test.Spec.Reporter.Spec", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "specReporter" }, "sortText": "Z.specReporter", "additionalTextEdits": null, "filterText": null, "insertText": "specReporter", "kind": 12, "label": "specReporter" }, { "detail": "Milliseconds → Milliseconds → Speed", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Speed*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "speedOf", "Test.Spec.Speed", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "speedOf" }, "sortText": "Z.speedOf", "additionalTextEdits": null, "filterText": null, "insertText": "speedOf", "kind": 12, "label": "speedOf" }, { "detail": "Style → String → String", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Style*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "styled", "Test.Spec.Style", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "styled" }, "sortText": "Z.styled", "additionalTextEdits": null, "filterText": null, "insertText": "styled", "kind": 12, "label": "styled" }, { "detail": "∀ a. Array (Tree a Result) → Summary", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Summary*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "summarize", "Test.Spec.Summary", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "summarize" }, "sortText": "Z.summarize", "additionalTextEdits": null, "filterText": null, "insertText": "summarize", "kind": 12, "label": "summarize" }, { "detail": "∀ a. Array (Tree a Result) → Boolean", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Summary*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "successful", "Test.Spec.Summary", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "successful" }, "sortText": "Z.successful", "additionalTextEdits": null, "filterText": null, "insertText": "successful", "kind": 12, "label": "successful" }, { "detail": "Spec Unit", "documentation": { "kind": "markdown", "value": "\n*From: Test.StringUtilsSpec*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "spec", "Test.StringUtilsSpec", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "spec" }, "sortText": "Z.spec", "additionalTextEdits": null, "filterText": null, "insertText": "spec", "kind": 12, "label": "spec" }, { "detail": "∀ a. Semiring a ⇒ a → a", "documentation": { "kind": "markdown", "value": "Returns input multiplied by iself\n\n*From: Utils.Math*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "square", "Utils.Math", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 44, "line": 9 }, "end": { "line": 9, "character": 45 } }, "newText": "square" }, "sortText": "Z.square", "additionalTextEdits": null, "filterText": null, "insertText": "square", "kind": 12, "label": "square" } ], "isIncomplete": false } [Trace - 4:17:06 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 86 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec)\n\nspec :: Spec Unit\nspec = describe \"Problems\" do\n describe \"Problem 1\" do\n it \"returns correct result\" $ add 1 2 `shouldEqual` \n" } ] } [Trace - 4:17:07 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 87 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec)\n\nspec :: Spec Unit\nspec = describe \"Problems\" do\n describe \"Problem 1\" do\n it \"returns correct result\" $ add 1 2 `shouldEqual` 3\n" } ] } [Trace - 4:17:07 PM] Sending request 'textDocument/completion - (46)'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" }, "position": { "line": 9, "character": 58 }, "context": { "triggerKind": 1 } } [Trace - 4:17:07 PM] Received notification 'window/logMessage'. Params: { "type": 3, "message": "[Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead\n" } [Info - 4:17:07 PM] [Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead [Trace - 4:17:07 PM] Received response 'textDocument/completion - (46)' in 14ms. Result: { "items": [], "isIncomplete": false } [Trace - 4:17:09 PM] Sending notification 'textDocument/didSave'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 87 } } [Trace - 4:17:09 PM] Received notification 'window/logMessage'. Params: { "type": 4, "message": "Built with 1 issues for file: \"/Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs\", all diagnostic files: [\"/Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs\"]" } Built with 1 issues for file: "/Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", all diagnostic files: ["/Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs"] [Trace - 4:17:09 PM] Received notification 'textDocument/publishDiagnostics'. Params: { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "diagnostics": [ { "range": { "start": { "line": 7, "character": 7 }, "end": { "line": 7, "character": 15 } }, "severity": 1, "code": "UnknownName", "source": "PureScript", "message": " Unknown value describe\n" } ] } [Trace - 4:17:11 PM] Sending request 'textDocument/codeAction - (47)'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" }, "range": { "start": { "line": 7, "character": 0 }, "end": { "line": 8, "character": 0 } }, "context": { "diagnostics": [ { "range": { "start": { "line": 7, "character": 7 }, "end": { "line": 7, "character": 15 } }, "severity": 1, "code": "UnknownName", "source": "PureScript", "message": " Unknown value describe\n" } ], "only": [ "quickfix" ] } } [Trace - 4:17:11 PM] Received response 'textDocument/codeAction - (47)' in 5ms. Result: [ { "title": "Fix typo/add import", "command": "purescript.fixTypo", "arguments": [ "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", 7, 7 ] } ] [Trace - 4:17:11 PM] Sending request 'workspace/executeCommand - (48)'. Params: { "command": "purescript.fixTypo", "arguments": [ "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", 7, 7 ] } [Trace - 4:17:11 PM] Received request 'workspace/applyEdit - (0)'. Params: { "edit": { "documentChanges": [ { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 87 }, "edits": [ { "range": { "start": { "line": 7, "character": 15 }, "end": { "line": 7, "character": 7 } }, "newText": "describe" } ] } ], "changes": { "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs": [ { "range": { "start": { "line": 7, "character": 15 }, "end": { "line": 7, "character": 7 } }, "newText": "describe" } ] } } } [Trace - 4:17:11 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 88 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec)\n\nspec :: Spec Unit\nspec = describedescribedescribe \"Problems\" do\n describe \"Problem 1\" do\n it \"returns correct result\" $ add 1 2 `shouldEqual` 3\n" } ] } [Trace - 4:17:11 PM] Sending response 'workspace/applyEdit - (0)'. Processing request took 60ms Result: { "applied": true } [Trace - 4:17:11 PM] Received request 'workspace/applyEdit - (1)'. Params: { "edit": { "documentChanges": [ { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 88 }, "edits": [ { "range": { "start": { "line": 4, "character": 0 }, "end": { "line": 5, "character": 0 } }, "newText": "import Test.Spec (Spec, describe)\n" } ] } ], "changes": { "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs": [ { "range": { "start": { "line": 4, "character": 0 }, "end": { "line": 5, "character": 0 } }, "newText": "import Test.Spec (Spec, describe)\n" } ] } } } [Trace - 4:17:11 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 89 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec, describe)\n\nspec :: Spec Unit\nspec = describedescribedescribe \"Problems\" do\n describe \"Problem 1\" do\n it \"returns correct result\" $ add 1 2 `shouldEqual` 3\n" } ] } [Trace - 4:17:11 PM] Sending response 'workspace/applyEdit - (1)'. Processing request took 56ms Result: { "applied": true } [Trace - 4:17:11 PM] Received response 'workspace/executeCommand - (48)' in 154ms. Result: [] [Trace - 4:17:16 PM] Sending notification 'textDocument/didSave'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 89 } } [Trace - 4:17:16 PM] Received notification 'window/logMessage'. Params: { "type": 4, "message": "Built with 1 issues for file: \"/Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs\", all diagnostic files: [\"/Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs\"]" } Built with 1 issues for file: "/Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", all diagnostic files: ["/Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs"] [Trace - 4:17:16 PM] Received notification 'textDocument/publishDiagnostics'. Params: { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "diagnostics": [ { "range": { "start": { "line": 7, "character": 7 }, "end": { "line": 7, "character": 31 } }, "severity": 1, "code": "UnknownName", "source": "PureScript", "message": " Unknown value describedescribedescribe\n" } ] } [Trace - 4:17:19 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 90 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec, describe)\n\nspec :: Spec Unit\nspec = \"Problems\" do\n describe \"Problem 1\" do\n it \"returns correct result\" $ add 1 2 `shouldEqual` 3\n" } ] } [Trace - 4:17:19 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 91 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec, describe)\n\nspec :: Spec Unit\nspec = d \"Problems\" do\n describe \"Problem 1\" do\n it \"returns correct result\" $ add 1 2 `shouldEqual` 3\n" } ] } [Trace - 4:17:19 PM] Sending request 'textDocument/completion - (49)'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" }, "position": { "line": 7, "character": 8 }, "context": { "triggerKind": 1 } } [Trace - 4:17:19 PM] Received notification 'window/logMessage'. Params: { "type": 3, "message": "[Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead\n" } [Info - 4:17:19 PM] [Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead [Trace - 4:17:19 PM] Received response 'textDocument/completion - (49)' in 32ms. Result: { "items": [ { "detail": "NonEmptyList GraphicsParam", "documentation": { "kind": "markdown", "value": "\n*From: Ansi.Output*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dim", "Ansi.Output", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "dim" }, "sortText": "Z.dim", "additionalTextEdits": null, "filterText": null, "insertText": "dim", "kind": 12, "label": "dim" }, { "detail": "∀ f b a. Discard a ⇒ Bind f ⇒ f a → (a → f b) → f b", "documentation": { "kind": "markdown", "value": "\n*From: Control.Bind*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "discard", "Control.Bind", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "discard" }, "sortText": "Z.discard", "additionalTextEdits": null, "filterText": null, "insertText": "discard", "kind": 12, "label": "discard" }, { "detail": "∀ a w. Extend w ⇒ w a → w (w a)", "documentation": { "kind": "markdown", "value": "Duplicate a comonadic context.\n\n`duplicate` is dual to `Control.Bind.join`.\n\n*From: Control.Comonad*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "duplicate", "Control.Comonad", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "duplicate" }, "sortText": "Z.duplicate", "additionalTextEdits": null, "filterText": null, "insertText": "duplicate", "kind": 12, "label": "duplicate" }, { "detail": "∀ f a. (Unit → Tuple a (f (Cofree f a))) → Cofree f a", "documentation": { "kind": "markdown", "value": "Lazily creates a value of type `Cofree f a` from a label and a\nfunctor-full of \"subtrees\".\n\n*From: Control.Comonad.Cofree*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "deferCofree", "Control.Comonad.Cofree", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "deferCofree" }, "sortText": "Z.deferCofree", "additionalTextEdits": null, "filterText": null, "insertText": "deferCofree", "kind": 12, "label": "deferCofree" }, { "detail": "∀ a w. Extend w ⇒ w a → w (w a)", "documentation": { "kind": "markdown", "value": "Duplicate a comonadic context.\n\n`duplicate` is dual to `Control.Bind.join`.\n\n*From: Control.Extend*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "duplicate", "Control.Extend", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "duplicate" }, "sortText": "Z.duplicate", "additionalTextEdits": null, "filterText": null, "insertText": "duplicate", "kind": 12, "label": "duplicate" }, { "detail": "∀ l. Lazy l ⇒ (Unit → l) → l", "documentation": { "kind": "markdown", "value": "\n*From: Control.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defer", "Control.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "defer" }, "sortText": "Z.defer", "additionalTextEdits": null, "filterText": null, "insertText": "defer", "kind": 12, "label": "defer" }, { "detail": "∀ f a. Applicative f ⇒ Int → ListT f a → ListT f a", "documentation": { "kind": "markdown", "value": "Drop a number of elements from the front of a list.\n\n*From: Control.Monad.List.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drop", "Control.Monad.List.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "drop" }, "sortText": "Z.drop", "additionalTextEdits": null, "filterText": null, "insertText": "drop", "kind": 12, "label": "drop" }, { "detail": "∀ f a. Applicative f ⇒ (a → Boolean) → ListT f a → ListT f a", "documentation": { "kind": "markdown", "value": "Drop elements from the front of a list while a predicate holds.\n\n*From: Control.Monad.List.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropWhile", "Control.Monad.List.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "dropWhile" }, "sortText": "Z.dropWhile", "additionalTextEdits": null, "filterText": null, "insertText": "dropWhile", "kind": 12, "label": "dropWhile" }, { "detail": "∀ a. a → Trampoline a", "documentation": { "kind": "markdown", "value": "Return a value immediately\n\n*From: Control.Monad.Trampoline*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "done", "Control.Monad.Trampoline", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "done" }, "sortText": "Z.done", "additionalTextEdits": null, "filterText": null, "insertText": "done", "kind": 12, "label": "done" }, { "detail": "∀ a. (Unit → a) → Trampoline a", "documentation": { "kind": "markdown", "value": "Use the `Trampoline` monad to represent the delayed evaluation of a value.\n\n*From: Control.Monad.Trampoline*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "delay", "Control.Monad.Trampoline", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "delay" }, "sortText": "Z.delay", "additionalTextEdits": null, "filterText": null, "insertText": "delay", "kind": 12, "label": "delay" }, { "detail": "∀ a. Int → Array a → Maybe (Array a)", "documentation": { "kind": "markdown", "value": "Delete the element at the specified index, creating a new array, or\nreturning `Nothing` if the index is out of bounds.\n\n```purescript\ndeleteAt 0 [\"Hello\", \"World\"] = Just [\"World\"]\ndeleteAt 10 [\"Hello\", \"World\"] = Nothing\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "deleteAt", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "deleteAt" }, "sortText": "Z.deleteAt", "additionalTextEdits": null, "filterText": null, "insertText": "deleteAt", "kind": 12, "label": "deleteAt" }, { "detail": "∀ a. Int → Array a → Array a", "documentation": { "kind": "markdown", "value": "Drop a number of elements from the start of an array, creating a new array.\n\n```purescript\nletters = [\"a\", \"b\", \"c\", \"d\"]\n\ndrop 2 letters = [\"c\", \"d\"]\ndrop 10 letters = []\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drop", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "drop" }, "sortText": "Z.drop", "additionalTextEdits": null, "filterText": null, "insertText": "drop", "kind": 12, "label": "drop" }, { "detail": "∀ a. Int → Array a → Array a", "documentation": { "kind": "markdown", "value": "Drop a number of elements from the end of an array, creating a new array.\n\n```purescript\nletters = [\"a\", \"b\", \"c\", \"d\"]\n\ndropEnd 2 letters = [\"a\", \"b\"]\ndropEnd 10 letters = []\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropEnd", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "dropEnd" }, "sortText": "Z.dropEnd", "additionalTextEdits": null, "filterText": null, "insertText": "dropEnd", "kind": 12, "label": "dropEnd" }, { "detail": "∀ a. (a → Boolean) → Array a → Array a", "documentation": { "kind": "markdown", "value": "Remove the longest initial subarray for which all element satisfy the\nspecified predicate, creating a new array.\n\n```purescript\ndropWhile (_ < 0) [-3, -1, 0, 4, -6] = [0, 4, -6]\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropWhile", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "dropWhile" }, "sortText": "Z.dropWhile", "additionalTextEdits": null, "filterText": null, "insertText": "dropWhile", "kind": 12, "label": "dropWhile" }, { "detail": "∀ a. Eq a ⇒ a → Array a → Array a", "documentation": { "kind": "markdown", "value": "Delete the first element of an array which is equal to the specified value,\ncreating a new array.\n\n```purescript\ndelete 7 [1, 7, 3, 7] = [1, 3, 7]\ndelete 7 [1, 2, 3] = [1, 2, 3]\n```\n\nRunning time: `O(n)`\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "delete", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "delete" }, "sortText": "Z.delete", "additionalTextEdits": null, "filterText": null, "insertText": "delete", "kind": 12, "label": "delete" }, { "detail": "∀ a. (a → a → Boolean) → a → Array a → Array a", "documentation": { "kind": "markdown", "value": "Delete the first element of an array which matches the specified value,\nunder the equivalence relation provided in the first argument, creating a\nnew array.\n\n```purescript\nmod3eq a b = a `mod` 3 == b `mod` 3\ndeleteBy mod3eq 6 [1, 3, 4, 3] = [1, 4, 3]\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "deleteBy", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "deleteBy" }, "sortText": "Z.deleteBy", "additionalTextEdits": null, "filterText": null, "insertText": "deleteBy", "kind": 12, "label": "deleteBy" }, { "detail": "∀ a. Eq a ⇒ Array a → Array a → Array a", "documentation": { "kind": "markdown", "value": "Delete the first occurrence of each element in the second array from the\nfirst array, creating a new array.\n\n```purescript\ndifference [2, 1] [2, 3] = [1]\n```\n\nRunning time: `O(n*m)`, where n is the length of the first array, and m is\nthe length of the second.\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "difference", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "difference" }, "sortText": "Z.difference", "additionalTextEdits": null, "filterText": null, "insertText": "difference", "kind": 12, "label": "difference" }, { "detail": "∀ a. Int → NonEmptyArray a → Maybe (Array a)", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "deleteAt", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "deleteAt" }, "sortText": "Z.deleteAt", "additionalTextEdits": null, "filterText": null, "insertText": "deleteAt", "kind": 12, "label": "deleteAt" }, { "detail": "∀ a. Int → NonEmptyArray a → Array a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drop", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "drop" }, "sortText": "Z.drop", "additionalTextEdits": null, "filterText": null, "insertText": "drop", "kind": 12, "label": "drop" }, { "detail": "∀ a. Int → NonEmptyArray a → Array a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropEnd", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "dropEnd" }, "sortText": "Z.dropEnd", "additionalTextEdits": null, "filterText": null, "insertText": "dropEnd", "kind": 12, "label": "dropEnd" }, { "detail": "∀ a. (a → Boolean) → NonEmptyArray a → Array a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropWhile", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "dropWhile" }, "sortText": "Z.dropWhile", "additionalTextEdits": null, "filterText": null, "insertText": "dropWhile", "kind": 12, "label": "dropWhile" }, { "detail": "∀ a. Eq a ⇒ a → NonEmptyArray a → Array a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "delete", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "delete" }, "sortText": "Z.delete", "additionalTextEdits": null, "filterText": null, "insertText": "delete", "kind": 12, "label": "delete" }, { "detail": "∀ a. (a → a → Boolean) → a → NonEmptyArray a → Array a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "deleteBy", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "deleteBy" }, "sortText": "Z.deleteBy", "additionalTextEdits": null, "filterText": null, "insertText": "deleteBy", "kind": 12, "label": "deleteBy" }, { "detail": "∀ a. Eq a ⇒ NonEmptyArray a → NonEmptyArray a → Array a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "difference", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "difference" }, "sortText": "Z.difference", "additionalTextEdits": null, "filterText": null, "insertText": "difference", "kind": 12, "label": "difference" }, { "detail": "∀ a. Eq a ⇒ NonEmptyArray a → Array a → Array a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "difference'", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "difference'" }, "sortText": "Z.difference'", "additionalTextEdits": null, "filterText": null, "insertText": "difference'", "kind": 12, "label": "difference'" }, { "detail": "Int → BigInt → BaseDigits", "documentation": { "kind": "markdown", "value": "A base N representation of the `BigInt` as an array of digits.\n\n*From: Data.BigInt*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "digitsInBase", "Data.BigInt", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "digitsInBase" }, "sortText": "Z.digitsInBase", "additionalTextEdits": null, "filterText": null, "insertText": "digitsInBase", "kind": 12, "label": "digitsInBase" }, { "detail": "∀ a. HeytingAlgebra a ⇒ a → a → a", "documentation": { "kind": "markdown", "value": "\n*From: Data.BooleanAlgebra*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "disj", "Data.BooleanAlgebra", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "disj" }, "sortText": "Z.disj", "additionalTextEdits": null, "filterText": null, "insertText": "disj", "kind": 12, "label": "disj" }, { "detail": "∀ a. Ord a ⇒ Comparison a", "documentation": { "kind": "markdown", "value": "The default comparison for any values with an `Ord` instance.\n\n*From: Data.Comparison*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultComparison", "Data.Comparison", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "defaultComparison" }, "sortText": "Z.defaultComparison", "additionalTextEdits": null, "filterText": null, "insertText": "defaultComparison", "kind": 12, "label": "defaultComparison" }, { "detail": "Date → Day", "documentation": { "kind": "markdown", "value": "The day component of a date value.\n\n*From: Data.Date*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "day", "Data.Date", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "day" }, "sortText": "Z.day", "additionalTextEdits": null, "filterText": null, "insertText": "day", "kind": 12, "label": "day" }, { "detail": "∀ d. Duration d ⇒ Date → Date → d", "documentation": { "kind": "markdown", "value": "Calculates the difference between two dates, returning the result as a\nduration.\n\n*From: Data.Date*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "diff", "Data.Date", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "diff" }, "sortText": "Z.diff", "additionalTextEdits": null, "filterText": null, "insertText": "diff", "kind": 12, "label": "diff" }, { "detail": "DateTime → Date", "documentation": { "kind": "markdown", "value": "\n*From: Data.DateTime*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "date", "Data.DateTime", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "date" }, "sortText": "Z.date", "additionalTextEdits": null, "filterText": null, "insertText": "date", "kind": 12, "label": "date" }, { "detail": "∀ d. Duration d ⇒ DateTime → DateTime → d", "documentation": { "kind": "markdown", "value": "Calculates the difference between two date/time values, returning the\nresult as a duration.\n\n*From: Data.DateTime*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "diff", "Data.DateTime", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "diff" }, "sortText": "Z.diff", "additionalTextEdits": null, "filterText": null, "insertText": "diff", "kind": 12, "label": "diff" }, { "detail": "Date → Day", "documentation": { "kind": "markdown", "value": "The day component of a date value.\n\n*From: Data.DateTime*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "day", "Data.DateTime", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "day" }, "sortText": "Z.day", "additionalTextEdits": null, "filterText": null, "insertText": "day", "kind": 12, "label": "day" }, { "detail": "∀ a g f. Distributive f ⇒ Functor g ⇒ g (f a) → f (g a)", "documentation": { "kind": "markdown", "value": "\n*From: Data.Distributive*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "distribute", "Data.Distributive", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "distribute" }, "sortText": "Z.distribute", "additionalTextEdits": null, "filterText": null, "insertText": "distribute", "kind": 12, "label": "distribute" }, { "detail": "∀ a f g. Distributive f ⇒ Functor g ⇒ g (f a) → f (g a)", "documentation": { "kind": "markdown", "value": "A default implementation of `distribute`, based on `collect`.\n\n*From: Data.Distributive*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "distributeDefault", "Data.Distributive", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "distributeDefault" }, "sortText": "Z.distributeDefault", "additionalTextEdits": null, "filterText": null, "insertText": "distributeDefault", "kind": 12, "label": "distributeDefault" }, { "detail": "∀ a b c f. Divide f ⇒ (a → Tuple b c) → f b → f c → f a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Divide*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "divide", "Data.Divide", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "divide" }, "sortText": "Z.divide", "additionalTextEdits": null, "filterText": null, "insertText": "divide", "kind": 12, "label": "divide" }, { "detail": "∀ f a b. Divide f ⇒ f a → f b → f (Tuple a b)", "documentation": { "kind": "markdown", "value": "`divided = divide id`\n\n*From: Data.Divide*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "divided", "Data.Divide", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "divided" }, "sortText": "Z.divided", "additionalTextEdits": null, "filterText": null, "insertText": "divided", "kind": 12, "label": "divided" }, { "detail": "∀ a u. Enum a ⇒ Unfoldable u ⇒ a → u a", "documentation": { "kind": "markdown", "value": "Produces all predecessors of an `Enum` value, excluding the start value.\n\n*From: Data.Enum*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "downFrom", "Data.Enum", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "downFrom" }, "sortText": "Z.downFrom", "additionalTextEdits": null, "filterText": null, "insertText": "downFrom", "kind": 12, "label": "downFrom" }, { "detail": "∀ a u. Enum a ⇒ Unfoldable1 u ⇒ a → u a", "documentation": { "kind": "markdown", "value": "Produces all predecessors of an `Enum` value, including the start value.\n\n`downFromIncluding top` will return all values in an `Enum`, in reverse\norder.\n\n*From: Data.Enum*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "downFromIncluding", "Data.Enum", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "downFromIncluding" }, "sortText": "Z.downFromIncluding", "additionalTextEdits": null, "filterText": null, "insertText": "downFromIncluding", "kind": 12, "label": "downFromIncluding" }, { "detail": "∀ a. (Int → Maybe a) → (a → Int) → a → Maybe a", "documentation": { "kind": "markdown", "value": "Provides a default implementation for `succ`, given a function that maps\nintegers to values in the `Enum`, and a function that maps values in the\n`Enum` back to integers. The integer mapping must agree in both directions\nfor this to implement a law-abiding `succ`.\n\nIf a `BoundedEnum` instance exists for `a`, the `toEnum` and `fromEnum`\nfunctions can be used here:\n\n``` purescript\nsucc = defaultSucc toEnum fromEnum\n```\n\n*From: Data.Enum*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultSucc", "Data.Enum", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "defaultSucc" }, "sortText": "Z.defaultSucc", "additionalTextEdits": null, "filterText": null, "insertText": "defaultSucc", "kind": 12, "label": "defaultSucc" }, { "detail": "∀ a. (Int → Maybe a) → (a → Int) → a → Maybe a", "documentation": { "kind": "markdown", "value": "Provides a default implementation for `pred`, given a function that maps\nintegers to values in the `Enum`, and a function that maps values in the\n`Enum` back to integers. The integer mapping must agree in both directions\nfor this to implement a law-abiding `pred`.\n\nIf a `BoundedEnum` instance exists for `a`, the `toEnum` and `fromEnum`\nfunctions can be used here:\n\n``` purescript\npred = defaultPred toEnum fromEnum\n```\n\n*From: Data.Enum*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultPred", "Data.Enum", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "defaultPred" }, "sortText": "Z.defaultPred", "additionalTextEdits": null, "filterText": null, "insertText": "defaultPred", "kind": 12, "label": "defaultPred" }, { "detail": "∀ a. Bounded a ⇒ Enum a ⇒ Cardinality a", "documentation": { "kind": "markdown", "value": "Provides a default implementation for `cardinality`.\n\nRuns in `O(n)` where `n` is `fromEnum top`\n\n*From: Data.Enum*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultCardinality", "Data.Enum", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "defaultCardinality" }, "sortText": "Z.defaultCardinality", "additionalTextEdits": null, "filterText": null, "insertText": "defaultCardinality", "kind": 12, "label": "defaultCardinality" }, { "detail": "∀ a. Bounded a ⇒ Enum a ⇒ Int → Maybe a", "documentation": { "kind": "markdown", "value": "Provides a default implementation for `toEnum`.\n\n- Assumes `fromEnum bottom = 0`.\n- Cannot be used in conjuction with `defaultSucc`.\n\nRuns in `O(n)` where `n` is `fromEnum a`.\n\n*From: Data.Enum*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultToEnum", "Data.Enum", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "defaultToEnum" }, "sortText": "Z.defaultToEnum", "additionalTextEdits": null, "filterText": null, "insertText": "defaultToEnum", "kind": 12, "label": "defaultToEnum" }, { "detail": "∀ a. Enum a ⇒ a → Int", "documentation": { "kind": "markdown", "value": "Provides a default implementation for `fromEnum`.\n\n- Assumes `toEnum 0 = Just bottom`.\n- Cannot be used in conjuction with `defaultPred`.\n\nRuns in `O(n)` where `n` is `fromEnum a`.\n\n*From: Data.Enum*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultFromEnum", "Data.Enum", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "defaultFromEnum" }, "sortText": "Z.defaultFromEnum", "additionalTextEdits": null, "filterText": null, "insertText": "defaultFromEnum", "kind": 12, "label": "defaultFromEnum" }, { "detail": "∀ a. Eq a ⇒ Equivalence a", "documentation": { "kind": "markdown", "value": "The default equivalence relation for any values with an `Eq` instance.\n\n*From: Data.Equivalence*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultEquivalence", "Data.Equivalence", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "defaultEquivalence" }, "sortText": "Z.defaultEquivalence", "additionalTextEdits": null, "filterText": null, "insertText": "defaultEquivalence", "kind": 12, "label": "defaultEquivalence" }, { "detail": "∀ a. EuclideanRing a ⇒ a → Int", "documentation": { "kind": "markdown", "value": "\n*From: Data.EuclideanRing*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "degree", "Data.EuclideanRing", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "degree" }, "sortText": "Z.degree", "additionalTextEdits": null, "filterText": null, "insertText": "degree", "kind": 12, "label": "degree" }, { "detail": "∀ a. EuclideanRing a ⇒ a → a → a", "documentation": { "kind": "markdown", "value": "\n*From: Data.EuclideanRing*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "div", "Data.EuclideanRing", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "div" }, "sortText": "Z.div", "additionalTextEdits": null, "filterText": null, "insertText": "div", "kind": 12, "label": "div" }, { "detail": "∀ a. EuclideanRing a ⇒ a → Int", "documentation": { "kind": "markdown", "value": "\n*From: Data.Field*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "degree", "Data.Field", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "degree" }, "sortText": "Z.degree", "additionalTextEdits": null, "filterText": null, "insertText": "degree", "kind": 12, "label": "degree" }, { "detail": "∀ a. EuclideanRing a ⇒ a → a → a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Field*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "div", "Data.Field", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "div" }, "sortText": "Z.div", "additionalTextEdits": null, "filterText": null, "insertText": "div", "kind": 12, "label": "div" }, { "detail": "∀ a. HeytingAlgebra a ⇒ a → a → a", "documentation": { "kind": "markdown", "value": "\n*From: Data.HeytingAlgebra*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "disj", "Data.HeytingAlgebra", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "disj" }, "sortText": "Z.disj", "additionalTextEdits": null, "filterText": null, "insertText": "disj", "kind": 12, "label": "disj" }, { "detail": "∀ subrow row rowlist. HeytingAlgebraRecord rowlist row subrow ⇒ RLProxy rowlist → Record row → Record row → Record subrow", "documentation": { "kind": "markdown", "value": "\n*From: Data.HeytingAlgebra*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "disjRecord", "Data.HeytingAlgebra", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "disjRecord" }, "sortText": "Z.disjRecord", "additionalTextEdits": null, "filterText": null, "insertText": "disjRecord", "kind": 12, "label": "disjRecord" }, { "detail": "Radix", "documentation": { "kind": "markdown", "value": "The base-10 system.\n\n*From: Data.Int*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "decimal", "Data.Int", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "decimal" }, "sortText": "Z.decimal", "additionalTextEdits": null, "filterText": null, "insertText": "decimal", "kind": 12, "label": "decimal" }, { "detail": "Number → Duration", "documentation": { "kind": "markdown", "value": "\n*From: Data.Interval*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "day", "Data.Interval", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "day" }, "sortText": "Z.day", "additionalTextEdits": null, "filterText": null, "insertText": "day", "kind": 12, "label": "day" }, { "detail": "Number → Duration", "documentation": { "kind": "markdown", "value": "\n*From: Data.Interval.Duration*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "day", "Data.Interval.Duration", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "day" }, "sortText": "Z.day", "additionalTextEdits": null, "filterText": null, "insertText": "day", "kind": 12, "label": "day" }, { "detail": "∀ a. (Unit → a) → Lazy a", "documentation": { "kind": "markdown", "value": "Defer a computation, creating a `Lazy` value.\n\n*From: Data.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defer", "Data.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "defer" }, "sortText": "Z.defer", "additionalTextEdits": null, "filterText": null, "insertText": "defer", "kind": 12, "label": "defer" }, { "detail": "∀ a. Int → List a → Maybe (List a)", "documentation": { "kind": "markdown", "value": "Delete an element from a list at the specified index, returning a new\nlist or `Nothing` if the index is out-of-bounds.\n\nRunning time: `O(n)`\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "deleteAt", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "deleteAt" }, "sortText": "Z.deleteAt", "additionalTextEdits": null, "filterText": null, "insertText": "deleteAt", "kind": 12, "label": "deleteAt" }, { "detail": "∀ a. Int → List a → List a", "documentation": { "kind": "markdown", "value": "Drop the specified number of elements from the front of a list.\n\nRunning time: `O(n)` where `n` is the number of elements to drop.\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drop", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "drop" }, "sortText": "Z.drop", "additionalTextEdits": null, "filterText": null, "insertText": "drop", "kind": 12, "label": "drop" }, { "detail": "∀ a. Int → List a → List a", "documentation": { "kind": "markdown", "value": "Drop the specified number of elements from the end of a list.\n\nRunning time: `O(2n - m)` where `n` is the number of elements in list\nand `m` is number of elements to drop.\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropEnd", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "dropEnd" }, "sortText": "Z.dropEnd", "additionalTextEdits": null, "filterText": null, "insertText": "dropEnd", "kind": 12, "label": "dropEnd" }, { "detail": "∀ a. (a → Boolean) → List a → List a", "documentation": { "kind": "markdown", "value": "Drop those elements from the front of a list which match a predicate.\n\nRunning time (worst case): `O(n)`\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropWhile", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "dropWhile" }, "sortText": "Z.dropWhile", "additionalTextEdits": null, "filterText": null, "insertText": "dropWhile", "kind": 12, "label": "dropWhile" }, { "detail": "∀ a. Eq a ⇒ a → List a → List a", "documentation": { "kind": "markdown", "value": "Delete the first occurrence of an element from a list.\n\nRunning time: `O(n)`\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "delete", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "delete" }, "sortText": "Z.delete", "additionalTextEdits": null, "filterText": null, "insertText": "delete", "kind": 12, "label": "delete" }, { "detail": "∀ a. (a → a → Boolean) → a → List a → List a", "documentation": { "kind": "markdown", "value": "Delete the first occurrence of an element from a list, using the specified\nfunction to determine equality of elements.\n\nRunning time: `O(n)`\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "deleteBy", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "deleteBy" }, "sortText": "Z.deleteBy", "additionalTextEdits": null, "filterText": null, "insertText": "deleteBy", "kind": 12, "label": "deleteBy" }, { "detail": "∀ a. Eq a ⇒ List a → List a → List a", "documentation": { "kind": "markdown", "value": "Delete the first occurrence of each element in the second list from the first list.\n\nRunning time: `O(n^2)`\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "difference", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "difference" }, "sortText": "Z.difference", "additionalTextEdits": null, "filterText": null, "insertText": "difference", "kind": 12, "label": "difference" }, { "detail": "∀ a. Int → List a → List a", "documentation": { "kind": "markdown", "value": "Delete an element from a list at the specified index, returning a new\nlist or `Nothing` if the index is out-of-bounds.\n\nThis function differs from the strict equivalent in that out-of-bounds arguments\nresult in the original list being returned unchanged.\n\nRunning time: `O(n)`\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "deleteAt", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "deleteAt" }, "sortText": "Z.deleteAt", "additionalTextEdits": null, "filterText": null, "insertText": "deleteAt", "kind": 12, "label": "deleteAt" }, { "detail": "∀ a. Int → List a → List a", "documentation": { "kind": "markdown", "value": "Drop the specified number of elements from the front of a list.\n\nRunning time: `O(n)` where `n` is the number of elements to drop.\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drop", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "drop" }, "sortText": "Z.drop", "additionalTextEdits": null, "filterText": null, "insertText": "drop", "kind": 12, "label": "drop" }, { "detail": "∀ a. (a → Boolean) → List a → List a", "documentation": { "kind": "markdown", "value": "Drop those elements from the front of a list which match a predicate.\n\nRunning time (worst case): `O(n)`\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropWhile", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "dropWhile" }, "sortText": "Z.dropWhile", "additionalTextEdits": null, "filterText": null, "insertText": "dropWhile", "kind": 12, "label": "dropWhile" }, { "detail": "∀ a. Eq a ⇒ a → List a → List a", "documentation": { "kind": "markdown", "value": "Delete the first occurrence of an element from a list.\n\nRunning time: `O(n)`\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "delete", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "delete" }, "sortText": "Z.delete", "additionalTextEdits": null, "filterText": null, "insertText": "delete", "kind": 12, "label": "delete" }, { "detail": "∀ a. (a → a → Boolean) → a → List a → List a", "documentation": { "kind": "markdown", "value": "Delete the first occurrence of an element from a list, using the specified\nfunction to determine equality of elements.\n\nRunning time: `O(n)`\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "deleteBy", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "deleteBy" }, "sortText": "Z.deleteBy", "additionalTextEdits": null, "filterText": null, "insertText": "deleteBy", "kind": 12, "label": "deleteBy" }, { "detail": "∀ a. Eq a ⇒ List a → List a → List a", "documentation": { "kind": "markdown", "value": "Delete the first occurrence of each element in the second list from the first list.\n\nRunning time: `O(n^2)`\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "difference", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "difference" }, "sortText": "Z.difference", "additionalTextEdits": null, "filterText": null, "insertText": "difference", "kind": 12, "label": "difference" }, { "detail": "∀ a. Int → NonEmptyList a → List a", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drop", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "drop" }, "sortText": "Z.drop", "additionalTextEdits": null, "filterText": null, "insertText": "drop", "kind": 12, "label": "drop" }, { "detail": "∀ a. (a → Boolean) → NonEmptyList a → List a", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropWhile", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "dropWhile" }, "sortText": "Z.dropWhile", "additionalTextEdits": null, "filterText": null, "insertText": "dropWhile", "kind": 12, "label": "dropWhile" }, { "detail": "∀ k v. Ord k ⇒ k → Map k v → Map k v", "documentation": { "kind": "markdown", "value": "Delete a key and its corresponding value from a map.\n\n*From: Data.Map*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "delete", "Data.Map", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "delete" }, "sortText": "Z.delete", "additionalTextEdits": null, "filterText": null, "insertText": "delete", "kind": 12, "label": "delete" }, { "detail": "∀ k v w. Ord k ⇒ Map k v → Map k w → Map k v", "documentation": { "kind": "markdown", "value": "Difference of two maps. Return elements of the first map where\nthe keys do not exist in the second map.\n\n*From: Data.Map*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "difference", "Data.Map", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "difference" }, "sortText": "Z.difference", "additionalTextEdits": null, "filterText": null, "insertText": "difference", "kind": 12, "label": "difference" }, { "detail": "∀ k v. Ord k ⇒ k → Map k v → Map k v", "documentation": { "kind": "markdown", "value": "Delete a key and its corresponding value from a map.\n\n*From: Data.Map.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "delete", "Data.Map.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "delete" }, "sortText": "Z.delete", "additionalTextEdits": null, "filterText": null, "insertText": "delete", "kind": 12, "label": "delete" }, { "detail": "∀ k v w. Ord k ⇒ Map k v → Map k w → Map k v", "documentation": { "kind": "markdown", "value": "Difference of two maps. Return elements of the first map where\nthe keys do not exist in the second map.\n\n*From: Data.Map.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "difference", "Data.Map.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "difference" }, "sortText": "Z.difference", "additionalTextEdits": null, "filterText": null, "insertText": "difference", "kind": 12, "label": "difference" }, { "detail": "∀ a. Ord a ⇒ a → Set a → Set a", "documentation": { "kind": "markdown", "value": "Delete a value from a set\n\n*From: Data.Set*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "delete", "Data.Set", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "delete" }, "sortText": "Z.delete", "additionalTextEdits": null, "filterText": null, "insertText": "delete", "kind": 12, "label": "delete" }, { "detail": "∀ a. Ord a ⇒ Set a → Set a → Set a", "documentation": { "kind": "markdown", "value": "Form the set difference\n\n*From: Data.Set*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "difference", "Data.Set", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "difference" }, "sortText": "Z.difference", "additionalTextEdits": null, "filterText": null, "insertText": "difference", "kind": 12, "label": "difference" }, { "detail": "∀ a. Ord a ⇒ a → NonEmptySet a → Maybe (NonEmptySet a)", "documentation": { "kind": "markdown", "value": "Delete a value from a non-empty set. If this would empty the set, the\nresult is `Nothing`.\n\n*From: Data.Set.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "delete", "Data.Set.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "delete" }, "sortText": "Z.delete", "additionalTextEdits": null, "filterText": null, "insertText": "delete", "kind": 12, "label": "delete" }, { "detail": "∀ a. Ord a ⇒ NonEmptySet a → NonEmptySet a → Maybe (NonEmptySet a)", "documentation": { "kind": "markdown", "value": "Form the set difference. `Nothing` if the first is a subset of the second.\n\n*From: Data.Set.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "difference", "Data.Set.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "difference" }, "sortText": "Z.difference", "additionalTextEdits": null, "filterText": null, "insertText": "difference", "kind": 12, "label": "difference" }, { "detail": "Int → String → String", "documentation": { "kind": "markdown", "value": "Drops the given number of code points from the beginning of the string. If\nthe string does not have that many code points, returns the empty string.\nOperates in constant space and in time linear to the given number.\n\n```purescript\n>>> drop 5 \"𝐀𝐀 b c\"\n\"c\"\n-- compared to Data.String:\n>>> drop 5 \"𝐀𝐀 b c\"\n\"b c\" -- because \"𝐀\" occupies 2 code units\n```\n\n\n*From: Data.String*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drop", "Data.String", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "drop" }, "sortText": "Z.drop", "additionalTextEdits": null, "filterText": null, "insertText": "drop", "kind": 12, "label": "drop" }, { "detail": "(CodePoint → Boolean) → String → String", "documentation": { "kind": "markdown", "value": "Drops the leading sequence of code points which all match the given\npredicate from the string. Operates in constant space and in time linear\nto the length of the string.\n\n```purescript\n>>> dropWhile (\\c -> codePointToInt c == 0x1D400) \"𝐀𝐀 b c 𝐀\"\n\" b c 𝐀\"\n```\n\n\n*From: Data.String*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropWhile", "Data.String", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "dropWhile" }, "sortText": "Z.dropWhile", "additionalTextEdits": null, "filterText": null, "insertText": "dropWhile", "kind": 12, "label": "dropWhile" }, { "detail": "Int → String → String", "documentation": { "kind": "markdown", "value": "Drops the given number of code points from the beginning of the string. If\nthe string does not have that many code points, returns the empty string.\nOperates in constant space and in time linear to the given number.\n\n```purescript\n>>> drop 5 \"𝐀𝐀 b c\"\n\"c\"\n-- compared to Data.String:\n>>> drop 5 \"𝐀𝐀 b c\"\n\"b c\" -- because \"𝐀\" occupies 2 code units\n```\n\n\n*From: Data.String.CodePoints*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drop", "Data.String.CodePoints", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "drop" }, "sortText": "Z.drop", "additionalTextEdits": null, "filterText": null, "insertText": "drop", "kind": 12, "label": "drop" }, { "detail": "(CodePoint → Boolean) → String → String", "documentation": { "kind": "markdown", "value": "Drops the leading sequence of code points which all match the given\npredicate from the string. Operates in constant space and in time linear\nto the length of the string.\n\n```purescript\n>>> dropWhile (\\c -> codePointToInt c == 0x1D400) \"𝐀𝐀 b c 𝐀\"\n\" b c 𝐀\"\n```\n\n\n*From: Data.String.CodePoints*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropWhile", "Data.String.CodePoints", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "dropWhile" }, "sortText": "Z.dropWhile", "additionalTextEdits": null, "filterText": null, "insertText": "dropWhile", "kind": 12, "label": "dropWhile" }, { "detail": "Int → String → String", "documentation": { "kind": "markdown", "value": "Returns the string without the first `n` characters.\n\n```purescript\ndrop 6 \"Hello World\" == \"World\"\n```\n\n\n*From: Data.String.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drop", "Data.String.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "drop" }, "sortText": "Z.drop", "additionalTextEdits": null, "filterText": null, "insertText": "drop", "kind": 12, "label": "drop" }, { "detail": "Int → String → String", "documentation": { "kind": "markdown", "value": "Returns the string without the last `n` characters.\n\n```purescript\ndropRight 6 \"Hello World\" == \"Hello\"\n```\n\n\n*From: Data.String.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropRight", "Data.String.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "dropRight" }, "sortText": "Z.dropRight", "additionalTextEdits": null, "filterText": null, "insertText": "dropRight", "kind": 12, "label": "dropRight" }, { "detail": "(Char → Boolean) → String → String", "documentation": { "kind": "markdown", "value": "Returns the suffix remaining after `takeWhile`.\n\n```purescript\ndropWhile (_ /= '.') \"Test.purs\" == \".purs\"\n```\n\n\n*From: Data.String.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropWhile", "Data.String.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "dropWhile" }, "sortText": "Z.dropWhile", "additionalTextEdits": null, "filterText": null, "insertText": "dropWhile", "kind": 12, "label": "dropWhile" }, { "detail": "Int → NonEmptyString → Maybe NonEmptyString", "documentation": { "kind": "markdown", "value": "\n*From: Data.String.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drop", "Data.String.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "drop" }, "sortText": "Z.drop", "additionalTextEdits": null, "filterText": null, "insertText": "drop", "kind": 12, "label": "drop" }, { "detail": "(CodePoint → Boolean) → NonEmptyString → Maybe NonEmptyString", "documentation": { "kind": "markdown", "value": "\n*From: Data.String.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropWhile", "Data.String.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "dropWhile" }, "sortText": "Z.dropWhile", "additionalTextEdits": null, "filterText": null, "insertText": "dropWhile", "kind": 12, "label": "dropWhile" }, { "detail": "Int → NonEmptyString → Maybe NonEmptyString", "documentation": { "kind": "markdown", "value": "\n*From: Data.String.NonEmpty.CodePoints*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drop", "Data.String.NonEmpty.CodePoints", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "drop" }, "sortText": "Z.drop", "additionalTextEdits": null, "filterText": null, "insertText": "drop", "kind": 12, "label": "drop" }, { "detail": "(CodePoint → Boolean) → NonEmptyString → Maybe NonEmptyString", "documentation": { "kind": "markdown", "value": "\n*From: Data.String.NonEmpty.CodePoints*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropWhile", "Data.String.NonEmpty.CodePoints", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "dropWhile" }, "sortText": "Z.dropWhile", "additionalTextEdits": null, "filterText": null, "insertText": "dropWhile", "kind": 12, "label": "dropWhile" }, { "detail": "Int → NonEmptyString → Maybe NonEmptyString", "documentation": { "kind": "markdown", "value": "Returns the string without the first `n` characters. Returns `Nothing` if\nmore characters are dropped than the string is long.\n\n```purescript\ndrop 6 (NonEmptyString \"Hello World\") == Just (NonEmptyString \"World\")\ndrop 20 (NonEmptyString \"Hello World\") == Nothing\n```\n\n*From: Data.String.NonEmpty.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drop", "Data.String.NonEmpty.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "drop" }, "sortText": "Z.drop", "additionalTextEdits": null, "filterText": null, "insertText": "drop", "kind": 12, "label": "drop" }, { "detail": "Int → NonEmptyString → Maybe NonEmptyString", "documentation": { "kind": "markdown", "value": "Returns the string without the last `n` characters. Returns `Nothing` if\nmore characters are dropped than the string is long.\n\n```purescript\ndropRight 6 (NonEmptyString \"Hello World\") == Just (NonEmptyString \"Hello\")\ndropRight 20 (NonEmptyString \"Hello World\") == Nothing\n```\n\n*From: Data.String.NonEmpty.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropRight", "Data.String.NonEmpty.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "dropRight" }, "sortText": "Z.dropRight", "additionalTextEdits": null, "filterText": null, "insertText": "dropRight", "kind": 12, "label": "dropRight" }, { "detail": "(Char → Boolean) → NonEmptyString → Maybe NonEmptyString", "documentation": { "kind": "markdown", "value": "Returns the suffix remaining after `takeWhile`.\n\n```purescript\ndropWhile (_ /= '.') (NonEmptyString \"Test.purs\") == Just (NonEmptyString \".purs\")\n```\n\n*From: Data.String.NonEmpty.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropWhile", "Data.String.NonEmpty.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "dropWhile" }, "sortText": "Z.dropWhile", "additionalTextEdits": null, "filterText": null, "insertText": "dropWhile", "kind": 12, "label": "dropWhile" }, { "detail": "∀ d. Duration d ⇒ Time → Time → d", "documentation": { "kind": "markdown", "value": "Calculates the difference between two times, returning the result as a\nduration.\n\n*From: Data.Time*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "diff", "Data.Time", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "diff" }, "sortText": "Z.diff", "additionalTextEdits": null, "filterText": null, "insertText": "diff", "kind": 12, "label": "diff" }, { "detail": "Milliseconds → Aff Unit", "documentation": { "kind": "markdown", "value": "Pauses the running fiber.\n\n*From: Effect.Aff*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "delay", "Effect.Aff", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "delay" }, "sortText": "Z.delay", "additionalTextEdits": null, "filterText": null, "insertText": "delay", "kind": 12, "label": "delay" }, { "detail": "String → Maybe String", "documentation": { "kind": "markdown", "value": "URI decoding. Returns `Nothing` when given a value with undecodeable\nescape sequences.\n\n*From: Global*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "decodeURI", "Global", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "decodeURI" }, "sortText": "Z.decodeURI", "additionalTextEdits": null, "filterText": null, "insertText": "decodeURI", "kind": 12, "label": "decodeURI" }, { "detail": "String → Maybe String", "documentation": { "kind": "markdown", "value": "URI component decoding. Returns `Nothing` when given a value with\nundecodeable escape sequences.\n\n*From: Global*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "decodeURIComponent", "Global", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "decodeURIComponent" }, "sortText": "Z.decodeURIComponent", "additionalTextEdits": null, "filterText": null, "insertText": "decodeURIComponent", "kind": 12, "label": "decodeURIComponent" }, { "detail": "WriteStreamOptions", "documentation": { "kind": "markdown", "value": "\n*From: Node.FS.Stream*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultWriteStreamOptions", "Node.FS.Stream", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "defaultWriteStreamOptions" }, "sortText": "Z.defaultWriteStreamOptions", "additionalTextEdits": null, "filterText": null, "insertText": "defaultWriteStreamOptions", "kind": 12, "label": "defaultWriteStreamOptions" }, { "detail": "ReadStreamOptions", "documentation": { "kind": "markdown", "value": "\n*From: Node.FS.Stream*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultReadStreamOptions", "Node.FS.Stream", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "defaultReadStreamOptions" }, "sortText": "Z.defaultReadStreamOptions", "additionalTextEdits": null, "filterText": null, "insertText": "defaultReadStreamOptions", "kind": 12, "label": "defaultReadStreamOptions" }, { "detail": "FilePath → FilePath", "documentation": { "kind": "markdown", "value": "Return the directory name of a path.\n\n*From: Node.Path*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dirname", "Node.Path", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "dirname" }, "sortText": "Z.dirname", "additionalTextEdits": null, "filterText": null, "insertText": "dirname", "kind": 12, "label": "dirname" }, { "detail": "String", "documentation": { "kind": "markdown", "value": "The platform-specific path delimiter, `;` or `:`.\n\n*From: Node.Path*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "delimiter", "Node.Path", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "delimiter" }, "sortText": "Z.delimiter", "additionalTextEdits": null, "filterText": null, "insertText": "delimiter", "kind": 12, "label": "delimiter" }, { "detail": "∀ r. Stream r → Effect Unit", "documentation": { "kind": "markdown", "value": "Destroy the stream. It will release any internal resources.\n\n*From: Node.Stream*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "destroy", "Node.Stream", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "destroy" }, "sortText": "Z.destroy", "additionalTextEdits": null, "filterText": null, "insertText": "destroy", "kind": 12, "label": "destroy" }, { "detail": "∀ a m. Monad m ⇒ a → m Unit", "documentation": { "kind": "markdown", "value": "Discards a value\n\n*From: Pipes*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "discard", "Pipes", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "discard" }, "sortText": "Z.discard", "additionalTextEdits": null, "filterText": null, "insertText": "discard", "kind": 12, "label": "discard" }, { "detail": "∀ a m r. Monad m ⇒ Consumer_ a m r", "documentation": { "kind": "markdown", "value": "`discard` all incoming values\n\n*From: Pipes.Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drain", "Pipes.Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "drain" }, "sortText": "Z.drain", "additionalTextEdits": null, "filterText": null, "insertText": "drain", "kind": 12, "label": "drain" }, { "detail": "∀ a m r. Monad m ⇒ Int → Pipe a a m r", "documentation": { "kind": "markdown", "value": "drop discards n values going downstream\n\n*From: Pipes.Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "drop", "Pipes.Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "drop" }, "sortText": "Z.drop", "additionalTextEdits": null, "filterText": null, "insertText": "drop", "kind": 12, "label": "drop" }, { "detail": "∀ a m r. Monad m ⇒ (a → Boolean) → Pipe a a m r", "documentation": { "kind": "markdown", "value": "dropWhile discards values going downstream until one violates the\n\n*From: Pipes.Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dropWhile", "Pipes.Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "dropWhile" }, "sortText": "Z.dropWhile", "additionalTextEdits": null, "filterText": null, "insertText": "dropWhile", "kind": 12, "label": "dropWhile" }, { "detail": "∀ a. EuclideanRing a ⇒ a → Int", "documentation": { "kind": "markdown", "value": "\n*From: Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "degree", "Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "degree" }, "sortText": "Z.degree", "additionalTextEdits": null, "filterText": null, "insertText": "degree", "kind": 12, "label": "degree" }, { "detail": "∀ f b a. Discard a ⇒ Bind f ⇒ f a → (a → f b) → f b", "documentation": { "kind": "markdown", "value": "\n*From: Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "discard", "Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "discard" }, "sortText": "Z.discard", "additionalTextEdits": null, "filterText": null, "insertText": "discard", "kind": 12, "label": "discard" }, { "detail": "∀ a. HeytingAlgebra a ⇒ a → a → a", "documentation": { "kind": "markdown", "value": "\n*From: Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "disj", "Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "disj" }, "sortText": "Z.disj", "additionalTextEdits": null, "filterText": null, "insertText": "disj", "kind": 12, "label": "disj" }, { "detail": "∀ a. EuclideanRing a ⇒ a → a → a", "documentation": { "kind": "markdown", "value": "\n*From: Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "div", "Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "div" }, "sortText": "Z.div", "additionalTextEdits": null, "filterText": null, "insertText": "div", "kind": 12, "label": "div" }, { "detail": "∀ r1 r2 l a. IsSymbol l ⇒ Lacks l r1 ⇒ Cons l a r1 r2 ⇒ SProxy l → Record r2 → Record r1", "documentation": { "kind": "markdown", "value": "Delete a property for a label which is specified using a value-level proxy for\na type-level string.\n\nNote that the type of the resulting row must _lack_ the specified property.\nSince duplicate labels are allowed, this is checked with a type class constraint.\n\nFor example:\n\n```purescript\ndelete (SProxy :: SProxy \"x\")\n :: forall r a. Lacks \"x\" r => { x :: a | r } -> { | r }\n```\n\n*From: Record*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "delete", "Record", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "delete" }, "sortText": "Z.delete", "additionalTextEdits": null, "filterText": null, "insertText": "delete", "kind": 12, "label": "delete" }, { "detail": "∀ r1 r2 r3. Union r1 r2 r3 ⇒ Nub r3 r3 ⇒ Record r1 → Record r2 → Record r3", "documentation": { "kind": "markdown", "value": "Merges two records where no labels overlap. This restriction exhibits\nbetter inference than `merge` when the resulting record type is known,\nbut one argument is not.\n\nFor example, hole `?help` is inferred to have type `{ b :: Int }` here:\n\n```purescript\ndisjoinUnion { a: 5 } ?help :: { a :: Int, b :: Int }\n```\n\n*From: Record*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "disjointUnion", "Record", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "disjointUnion" }, "sortText": "Z.disjointUnion", "additionalTextEdits": null, "filterText": null, "insertText": "disjointUnion", "kind": 12, "label": "disjointUnion" }, { "detail": "∀ l a r1 r2. IsSymbol l ⇒ Lacks l r1 ⇒ Cons l a r1 r2 ⇒ SProxy l → Builder (Record r2) (Record r1)", "documentation": { "kind": "markdown", "value": "Build by deleting an existing field.\n\n*From: Record.Builder*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "delete", "Record.Builder", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "delete" }, "sortText": "Z.delete", "additionalTextEdits": null, "filterText": null, "insertText": "delete", "kind": 12, "label": "delete" }, { "detail": "∀ r1 r2 r3. Union r1 r2 r3 ⇒ Nub r3 r3 ⇒ Record r1 → Builder (Record r2) (Record r3)", "documentation": { "kind": "markdown", "value": "Build by merging some disjoint set of fields from another record.\n\n*From: Record.Builder*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "disjointUnion", "Record.Builder", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "disjointUnion" }, "sortText": "Z.disjointUnion", "additionalTextEdits": null, "filterText": null, "insertText": "disjointUnion", "kind": 12, "label": "disjointUnion" }, { "detail": "∀ m g i a. FocusWarning ⇒ Monad m ⇒ String → SpecT g i m a → SpecT g i m a", "documentation": { "kind": "markdown", "value": "Combine a group of specs into a described hierarchy and mark it as the\nonly group to actually be evaluated. (useful for quickly narrowing down\non a set)\n\n*From: Test.Spec*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "describeOnly", "Test.Spec", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "describeOnly" }, "sortText": "Z.describeOnly", "additionalTextEdits": null, "filterText": null, "insertText": "describeOnly", "kind": 12, "label": "describeOnly" }, { "detail": "∀ m g i a. Monad m ⇒ String → SpecT g i m a → SpecT g i m a", "documentation": { "kind": "markdown", "value": "Combine a group of specs into a described hierarchy.\n\n*From: Test.Spec*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "describe", "Test.Spec", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "describe" }, "sortText": "Z.describe", "additionalTextEdits": null, "filterText": null, "insertText": "describe", "kind": 12, "label": "describe" }, { "detail": "∀ m. MonadEffect m ⇒ String → m (Spec Unit)", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Discovery*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "discover", "Test.Spec.Discovery", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "discover" }, "sortText": "Z.discover", "additionalTextEdits": null, "filterText": null, "insertText": "discover", "kind": 12, "label": "discover" }, { "detail": "∀ s. s → (Event → StateT s (Writer String) Unit) → Reporter", "documentation": { "kind": "markdown", "value": "A default reporter implementation that can be used as a base to build\nother reporters on top of.\n\n*From: Test.Spec.Reporter*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultReporter", "Test.Spec.Reporter", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "defaultReporter" }, "sortText": "Z.defaultReporter", "additionalTextEdits": null, "filterText": null, "insertText": "defaultReporter", "kind": 12, "label": "defaultReporter" }, { "detail": "∀ m. MonadWriter String m ⇒ Array (Tree Void Result) → m Unit", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Reporter*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultSummary", "Test.Spec.Reporter", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "defaultSummary" }, "sortText": "Z.defaultSummary", "additionalTextEdits": null, "filterText": null, "insertText": "defaultSummary", "kind": 12, "label": "defaultSummary" }, { "detail": "∀ s. { getRunningItems ∷ s -> Map Path RunningItem , printFinishedItem ∷ Path -> RunningItem -> StateT s (Writer String) Unit , putRunningItems ∷ Map Path RunningItem -> s -> s , update ∷ Event -> StateT s (Writer String) Unit } → (Event → StateT s (Writer String) Unit)", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Reporter*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultUpdate", "Test.Spec.Reporter", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "defaultUpdate" }, "sortText": "Z.defaultUpdate", "additionalTextEdits": null, "filterText": null, "insertText": "defaultUpdate", "kind": 3, "label": "defaultUpdate" }, { "detail": "DotReporterConfig → Reporter", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Reporter*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dotReporter", "Test.Spec.Reporter", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "dotReporter" }, "sortText": "Z.dotReporter", "additionalTextEdits": null, "filterText": null, "insertText": "dotReporter", "kind": 12, "label": "dotReporter" }, { "detail": "∀ m. MonadWriter String m ⇒ Array (Tree Void Result) → m Unit", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Reporter.Base*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultSummary", "Test.Spec.Reporter.Base", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "defaultSummary" }, "sortText": "Z.defaultSummary", "additionalTextEdits": null, "filterText": null, "insertText": "defaultSummary", "kind": 12, "label": "defaultSummary" }, { "detail": "∀ s. s → (Event → StateT s (Writer String) Unit) → Reporter", "documentation": { "kind": "markdown", "value": "A default reporter implementation that can be used as a base to build\nother reporters on top of.\n\n*From: Test.Spec.Reporter.Base*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultReporter", "Test.Spec.Reporter.Base", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "defaultReporter" }, "sortText": "Z.defaultReporter", "additionalTextEdits": null, "filterText": null, "insertText": "defaultReporter", "kind": 12, "label": "defaultReporter" }, { "detail": "∀ s. { getRunningItems ∷ s -> Map Path RunningItem , printFinishedItem ∷ Path -> RunningItem -> StateT s (Writer String) Unit , putRunningItems ∷ Map Path RunningItem -> s -> s , update ∷ Event -> StateT s (Writer String) Unit } → (Event → StateT s (Writer String) Unit)", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Reporter.Base*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultUpdate", "Test.Spec.Reporter.Base", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "defaultUpdate" }, "sortText": "Z.defaultUpdate", "additionalTextEdits": null, "filterText": null, "insertText": "defaultUpdate", "kind": 3, "label": "defaultUpdate" }, { "detail": "DotReporterConfig → Reporter", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Reporter.Dot*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dotReporter", "Test.Spec.Reporter.Dot", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "dotReporter" }, "sortText": "Z.dotReporter", "additionalTextEdits": null, "filterText": null, "insertText": "dotReporter", "kind": 12, "label": "dotReporter" }, { "detail": "Config", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Runner*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "defaultConfig", "Test.Spec.Runner", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "defaultConfig" }, "sortText": "Z.defaultConfig", "additionalTextEdits": null, "filterText": null, "insertText": "defaultConfig", "kind": 12, "label": "defaultConfig" }, { "detail": "Style", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Style*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dim", "Test.Spec.Style", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "dim" }, "sortText": "Z.dim", "additionalTextEdits": null, "filterText": null, "insertText": "dim", "kind": 12, "label": "dim" }, { "detail": "∀ c m a. Array (Tree c (Item m a)) → Array (Tree c (Item m a))", "documentation": { "kind": "markdown", "value": "If there is at least one focused element, all paths which don't\nlead to a focused element will be remove. otherwise input will\nbe returned as unchanged.\n\n*From: Test.Spec.Tree*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "discardUnfocused", "Test.Spec.Tree", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "discardUnfocused" }, "sortText": "Z.discardUnfocused", "additionalTextEdits": null, "filterText": null, "insertText": "discardUnfocused", "kind": 12, "label": "discardUnfocused" }, { "detail": "∀ a. Ring a ⇒ a → a", "documentation": { "kind": "markdown", "value": "Subtracts one from input\n\n*From: Utils.Math*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "dec", "Utils.Math", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "dec" }, "sortText": "Z.dec", "additionalTextEdits": null, "filterText": null, "insertText": "dec", "kind": 12, "label": "dec" }, { "detail": "∀ a. EuclideanRing a ⇒ Eq a ⇒ a → a → Boolean", "documentation": { "kind": "markdown", "value": "Checks if a number is divisible by another number\n```purescript\n> 10 `divisibleBy` 2\ntrue\n\n> 10 `divisibleBy` 3\nfalse\n```\n\n*From: Utils.Math*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "divisibleBy", "Utils.Math", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 7, "line": 7 }, "end": { "line": 7, "character": 8 } }, "newText": "divisibleBy" }, "sortText": "Z.divisibleBy", "additionalTextEdits": null, "filterText": null, "insertText": "divisibleBy", "kind": 12, "label": "divisibleBy" } ], "isIncomplete": false } [Trace - 4:17:21 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 92 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec, describe)\n\nspec :: Spec Unit\nspec = describe \"Problems\" do\n describe \"Problem 1\" do\n it \"returns correct result\" $ add 1 2 `shouldEqual` 3\n" } ] } [Trace - 4:17:22 PM] Sending notification 'textDocument/didSave'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 92 } } [Trace - 4:17:22 PM] Received notification 'window/logMessage'. Params: { "type": 4, "message": "Built with 1 issues for file: \"/Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs\", all diagnostic files: [\"/Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs\"]" } Built with 1 issues for file: "/Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", all diagnostic files: ["/Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs"] [Trace - 4:17:22 PM] Received notification 'textDocument/publishDiagnostics'. Params: { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "diagnostics": [ { "range": { "start": { "line": 9, "character": 5 }, "end": { "line": 9, "character": 7 } }, "severity": 1, "code": "UnknownName", "source": "PureScript", "message": " Unknown value it\n" } ] } [Trace - 4:17:25 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 93 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec, describe)\n\nspec :: Spec Unit\nspec = describe \"Problems\" do\n describe \"Problem 1\" do\n it \"returns wcorrect result\" $ add 1 2 `shouldEqual` 3\n" } ] } [Trace - 4:17:25 PM] Sending request 'textDocument/completion - (50)'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" }, "position": { "line": 9, "character": 18 }, "context": { "triggerKind": 1 } } [Trace - 4:17:25 PM] Received notification 'window/logMessage'. Params: { "type": 3, "message": "[Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead\n" } [Info - 4:17:25 PM] [Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead [Trace - 4:17:25 PM] Received response 'textDocument/completion - (50)' in 26ms. Result: { "items": [ { "detail": "NonEmptyList GraphicsParam → String → String", "documentation": { "kind": "markdown", "value": "Wrap the given text in escape codes corresponding to the given parameters.\nFor example:\n\n```purescript\nConsole.log $ withGraphics (bold <> underline <> foreground BrightRed) \"hello world\"\n```\n\nwould print \"hello world\" to the terminal, bold, underlined, and in bright\nred, and then reset (so that further logging to the console uses the\nnormal color and style).\n\nThis function simply wraps the given text in an escape code and a reset\ncode, so that it is a little more comfortable to use than the functions\nin `Ansi.Codes`.\n\n*From: Ansi.Output*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "withGraphics", "Ansi.Output", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "withGraphics" }, "sortText": "Z.withGraphics", "additionalTextEdits": null, "filterText": null, "insertText": "withGraphics", "kind": 12, "label": "withGraphics" }, { "detail": "∀ m. Applicative m ⇒ Boolean → m Unit → m Unit", "documentation": { "kind": "markdown", "value": "Perform an applicative action when a condition is true.\n\n*From: Control.Alternative*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "when", "Control.Alternative", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "when" }, "sortText": "Z.when", "additionalTextEdits": null, "filterText": null, "insertText": "when", "kind": 12, "label": "when" }, { "detail": "∀ m. Applicative m ⇒ Boolean → m Unit → m Unit", "documentation": { "kind": "markdown", "value": "Perform an applicative action when a condition is true.\n\n*From: Control.Applicative*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "when", "Control.Applicative", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "when" }, "sortText": "Z.when", "additionalTextEdits": null, "filterText": null, "insertText": "when", "kind": 12, "label": "when" }, { "detail": "∀ m. Applicative m ⇒ Boolean → m Unit → m Unit", "documentation": { "kind": "markdown", "value": "Perform an applicative action when a condition is true.\n\n*From: Control.Bind*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "when", "Control.Bind", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "when" }, "sortText": "Z.when", "additionalTextEdits": null, "filterText": null, "insertText": "when", "kind": 12, "label": "when" }, { "detail": "∀ e1 e2 a. (e1 → e2) → Env e1 a → Env e2 a", "documentation": { "kind": "markdown", "value": "Change the environment type in an `Env` computation.\n\n*From: Control.Comonad.Env*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "withEnv", "Control.Comonad.Env", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "withEnv" }, "sortText": "Z.withEnv", "additionalTextEdits": null, "filterText": null, "insertText": "withEnv", "kind": 12, "label": "withEnv" }, { "detail": "∀ e1 e2 w a. (e1 → e2) → EnvT e1 w a → EnvT e2 w a", "documentation": { "kind": "markdown", "value": "Change the environment type in an `EnvT` context.\n\n*From: Control.Comonad.Env*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "withEnvT", "Control.Comonad.Env", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "withEnvT" }, "sortText": "Z.withEnvT", "additionalTextEdits": null, "filterText": null, "insertText": "withEnvT", "kind": 12, "label": "withEnvT" }, { "detail": "∀ e1 e2 w a. (e1 → e2) → EnvT e1 w a → EnvT e2 w a", "documentation": { "kind": "markdown", "value": "Change the environment type in an `EnvT` context.\n\n*From: Control.Comonad.Env.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "withEnvT", "Control.Comonad.Env.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "withEnvT" }, "sortText": "Z.withEnvT", "additionalTextEdits": null, "filterText": null, "insertText": "withEnvT", "kind": 12, "label": "withEnvT" }, { "detail": "∀ m. Monad m ⇒ m Boolean → m Unit → m Unit", "documentation": { "kind": "markdown", "value": "Perform a monadic action when a condition is true, where the conditional\nvalue is also in a monadic context.\n\n*From: Control.Monad*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "whenM", "Control.Monad", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "whenM" }, "sortText": "Z.whenM", "additionalTextEdits": null, "filterText": null, "insertText": "whenM", "kind": 12, "label": "whenM" }, { "detail": "∀ m. Applicative m ⇒ Boolean → m Unit → m Unit", "documentation": { "kind": "markdown", "value": "Perform an applicative action when a condition is true.\n\n*From: Control.Monad*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "when", "Control.Monad", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "when" }, "sortText": "Z.when", "additionalTextEdits": null, "filterText": null, "insertText": "when", "kind": 12, "label": "when" }, { "detail": "∀ r m a b. ((b → m r) → (a → m r)) → ContT r m a → ContT r m b", "documentation": { "kind": "markdown", "value": "Modify the continuation in a `ContT` monad action\n\n*From: Control.Monad.Cont*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "withContT", "Control.Monad.Cont", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "withContT" }, "sortText": "Z.withContT", "additionalTextEdits": null, "filterText": null, "insertText": "withContT", "kind": 12, "label": "withContT" }, { "detail": "∀ r m a b. ((b → m r) → (a → m r)) → ContT r m a → ContT r m b", "documentation": { "kind": "markdown", "value": "Modify the continuation in a `ContT` monad action\n\n*From: Control.Monad.Cont.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "withContT", "Control.Monad.Cont.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "withContT" }, "sortText": "Z.withContT", "additionalTextEdits": null, "filterText": null, "insertText": "withContT", "kind": 12, "label": "withContT" }, { "detail": "∀ e m r a. MonadError e m ⇒ m r → (r → m Unit) → (r → m a) → m a", "documentation": { "kind": "markdown", "value": "Make sure that a resource is cleaned up in the event of an exception. The\nrelease action is called regardless of whether the body action throws or\nreturns.\n\n*From: Control.Monad.Error.Class*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "withResource", "Control.Monad.Error.Class", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "withResource" }, "sortText": "Z.withResource", "additionalTextEdits": null, "filterText": null, "insertText": "withResource", "kind": 12, "label": "withResource" }, { "detail": "∀ e e' a. (e → e') → Except e a → Except e' a", "documentation": { "kind": "markdown", "value": "Transform any exceptions thrown by an `Except` computation using the given function.\n\n*From: Control.Monad.Except*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "withExcept", "Control.Monad.Except", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "withExcept" }, "sortText": "Z.withExcept", "additionalTextEdits": null, "filterText": null, "insertText": "withExcept", "kind": 12, "label": "withExcept" }, { "detail": "∀ e e' m a. Functor m ⇒ (e → e') → ExceptT e m a → ExceptT e' m a", "documentation": { "kind": "markdown", "value": "Transform any exceptions thrown by an `ExceptT` computation using the given function.\n\n*From: Control.Monad.Except*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "withExceptT", "Control.Monad.Except", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "withExceptT" }, "sortText": "Z.withExceptT", "additionalTextEdits": null, "filterText": null, "insertText": "withExceptT", "kind": 12, "label": "withExceptT" }, { "detail": "∀ e e' m a. Functor m ⇒ (e → e') → ExceptT e m a → ExceptT e' m a", "documentation": { "kind": "markdown", "value": "Transform any exceptions thrown by an `ExceptT` computation using the given function.\n\n*From: Control.Monad.Except.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "withExceptT", "Control.Monad.Except.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "withExceptT" }, "sortText": "Z.withExceptT", "additionalTextEdits": null, "filterText": null, "insertText": "withExceptT", "kind": 12, "label": "withExceptT" }, { "detail": "∀ f a. f (Free f a) → Free f a", "documentation": { "kind": "markdown", "value": "Add a layer.\n\n*From: Control.Monad.Free*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "wrap", "Control.Monad.Free", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "wrap" }, "sortText": "Z.wrap", "additionalTextEdits": null, "filterText": null, "insertText": "wrap", "kind": 12, "label": "wrap" }, { "detail": "∀ a m f. MonadFree f m ⇒ f (m a) → m a", "documentation": { "kind": "markdown", "value": "\n*From: Control.Monad.Free.Class*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "wrapFree", "Control.Monad.Free.Class", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "wrapFree" }, "sortText": "Z.wrapFree", "additionalTextEdits": null, "filterText": null, "insertText": "wrapFree", "kind": 12, "label": "wrapFree" }, { "detail": "∀ f a. Functor f ⇒ f (ListT f a) → ListT f a", "documentation": { "kind": "markdown", "value": "Lift a computation from the base monad.\n\n*From: Control.Monad.List.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "wrapEffect", "Control.Monad.List.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "wrapEffect" }, "sortText": "Z.wrapEffect", "additionalTextEdits": null, "filterText": null, "insertText": "wrapEffect", "kind": 12, "label": "wrapEffect" }, { "detail": "∀ f a. Applicative f ⇒ Lazy (ListT f a) → ListT f a", "documentation": { "kind": "markdown", "value": "Defer evaluation of a list.\n\n*From: Control.Monad.List.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "wrapLazy", "Control.Monad.List.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "wrapLazy" }, "sortText": "Z.wrapLazy", "additionalTextEdits": null, "filterText": null, "insertText": "wrapLazy", "kind": 12, "label": "wrapLazy" }, { "detail": "∀ r1 r2 w s a. (r2 → s → Tuple r1 s) → RWS r1 w s a → RWS r2 w s a", "documentation": { "kind": "markdown", "value": "Change the type of the context in a `RWS` action\n\n*From: Control.Monad.RWS*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "withRWS", "Control.Monad.RWS", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "withRWS" }, "sortText": "Z.withRWS", "additionalTextEdits": null, "filterText": null, "insertText": "withRWS", "kind": 12, "label": "withRWS" }, { "detail": "∀ r1 r2 w s m a. (r2 → s → Tuple r1 s) → RWST r1 w s m a → RWST r2 w s m a", "documentation": { "kind": "markdown", "value": "Change the context type in a `RWST` monad action.\n\n*From: Control.Monad.RWS*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "withRWST", "Control.Monad.RWS", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "withRWST" }, "sortText": "Z.withRWST", "additionalTextEdits": null, "filterText": null, "insertText": "withRWST", "kind": 12, "label": "withRWST" }, { "detail": "∀ r1 r2 w s m a. (r2 → s → Tuple r1 s) → RWST r1 w s m a → RWST r2 w s m a", "documentation": { "kind": "markdown", "value": "Change the context type in a `RWST` monad action.\n\n*From: Control.Monad.RWS.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "withRWST", "Control.Monad.RWS.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "withRWST" }, "sortText": "Z.withRWST", "additionalTextEdits": null, "filterText": null, "insertText": "withRWST", "kind": 12, "label": "withRWST" }, { "detail": "∀ r1 r2 a. (r2 → r1) → Reader r1 a → Reader r2 a", "documentation": { "kind": "markdown", "value": "Change the type of the context in a `Reader` monad action.\n\n*From: Control.Monad.Reader*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "withReader", "Control.Monad.Reader", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "withReader" }, "sortText": "Z.withReader", "additionalTextEdits": null, "filterText": null, "insertText": "withReader", "kind": 12, "label": "withReader" }, { "detail": "∀ r1 r2 m a. (r2 → r1) → ReaderT r1 m a → ReaderT r2 m a", "documentation": { "kind": "markdown", "value": "Change the type of the context in a `ReaderT` monad action.\n\n*From: Control.Monad.Reader*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "withReaderT", "Control.Monad.Reader", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "withReaderT" }, "sortText": "Z.withReaderT", "additionalTextEdits": null, "filterText": null, "insertText": "withReaderT", "kind": 12, "label": "withReaderT" }, { "detail": "∀ r1 r2 m a. (r2 → r1) → ReaderT r1 m a → ReaderT r2 m a", "documentation": { "kind": "markdown", "value": "Change the type of the context in a `ReaderT` monad action.\n\n*From: Control.Monad.Reader.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "withReaderT", "Control.Monad.Reader.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "withReaderT" }, "sortText": "Z.withReaderT", "additionalTextEdits": null, "filterText": null, "insertText": "withReaderT", "kind": 12, "label": "withReaderT" }, { "detail": "∀ a m. Monoid a ⇒ MonadRec m ⇒ m (Maybe a) → m a", "documentation": { "kind": "markdown", "value": "While supplied computation evaluates to `Just _`, it will be\nexecuted repeatedly and results will be combined using monoid instance.\n\n*From: Control.Monad.Rec.Class*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "whileJust", "Control.Monad.Rec.Class", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "whileJust" }, "sortText": "Z.whileJust", "additionalTextEdits": null, "filterText": null, "insertText": "whileJust", "kind": 12, "label": "whileJust" }, { "detail": "∀ r a. ST r Boolean → ST r a → ST r Unit", "documentation": { "kind": "markdown", "value": "Loop while a condition is `true`.\n\n`while b m` is ST computation which runs the ST computation `b`. If its\nresult is `true`, it runs the ST computation `m` and loops. If not, the\ncomputation ends.\n\n*From: Control.Monad.ST*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "while", "Control.Monad.ST", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "while" }, "sortText": "Z.while", "additionalTextEdits": null, "filterText": null, "insertText": "while", "kind": 12, "label": "while" }, { "detail": "∀ r a. ST r Boolean → ST r a → ST r Unit", "documentation": { "kind": "markdown", "value": "Loop while a condition is `true`.\n\n`while b m` is ST computation which runs the ST computation `b`. If its\nresult is `true`, it runs the ST computation `m` and loops. If not, the\ncomputation ends.\n\n*From: Control.Monad.ST.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "while", "Control.Monad.ST.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "while" }, "sortText": "Z.while", "additionalTextEdits": null, "filterText": null, "insertText": "while", "kind": 12, "label": "while" }, { "detail": "∀ a r. a → STRef r a → ST r a", "documentation": { "kind": "markdown", "value": "Set the value of a mutable reference.\n\n*From: Control.Monad.ST.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "write", "Control.Monad.ST.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "write" }, "sortText": "Z.write", "additionalTextEdits": null, "filterText": null, "insertText": "write", "kind": 12, "label": "write" }, { "detail": "∀ a r. a → STRef r a → ST r a", "documentation": { "kind": "markdown", "value": "Set the value of a mutable reference.\n\n*From: Control.Monad.ST.Ref*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "write", "Control.Monad.ST.Ref", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "write" }, "sortText": "Z.write", "additionalTextEdits": null, "filterText": null, "insertText": "write", "kind": 12, "label": "write" }, { "detail": "∀ s a. (s → s) → State s a → State s a", "documentation": { "kind": "markdown", "value": "Modify the state in a `State` action\n\n*From: Control.Monad.State*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "withState", "Control.Monad.State", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "withState" }, "sortText": "Z.withState", "additionalTextEdits": null, "filterText": null, "insertText": "withState", "kind": 12, "label": "withState" }, { "detail": "∀ s m a. (s → s) → StateT s m a → StateT s m a", "documentation": { "kind": "markdown", "value": "Modify the final state in a `StateT` monad action.\n\n*From: Control.Monad.State*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "withStateT", "Control.Monad.State", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "withStateT" }, "sortText": "Z.withStateT", "additionalTextEdits": null, "filterText": null, "insertText": "withStateT", "kind": 12, "label": "withStateT" }, { "detail": "∀ s m a. (s → s) → StateT s m a → StateT s m a", "documentation": { "kind": "markdown", "value": "Modify the final state in a `StateT` monad action.\n\n*From: Control.Monad.State.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "withStateT", "Control.Monad.State.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "withStateT" }, "sortText": "Z.withStateT", "additionalTextEdits": null, "filterText": null, "insertText": "withStateT", "kind": 12, "label": "withStateT" }, { "detail": "∀ w a. Tuple a w → Writer w a", "documentation": { "kind": "markdown", "value": "Creates a `Writer` from a result and output pair.\n\n*From: Control.Monad.Writer*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "writer", "Control.Monad.Writer", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "writer" }, "sortText": "Z.writer", "additionalTextEdits": null, "filterText": null, "insertText": "writer", "kind": 12, "label": "writer" }, { "detail": "∀ m. Applicative m ⇒ Boolean → m Unit → m Unit", "documentation": { "kind": "markdown", "value": "Perform an applicative action when a condition is true.\n\n*From: Control.MonadPlus*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "when", "Control.MonadPlus", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "when" }, "sortText": "Z.when", "additionalTextEdits": null, "filterText": null, "insertText": "when", "kind": 12, "label": "when" }, { "detail": "∀ m. Applicative m ⇒ Boolean → m Unit → m Unit", "documentation": { "kind": "markdown", "value": "Perform an applicative action when a condition is true.\n\n*From: Control.MonadZero*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "when", "Control.MonadZero", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "when" }, "sortText": "Z.when", "additionalTextEdits": null, "filterText": null, "insertText": "when", "kind": 12, "label": "when" }, { "detail": "∀ h a b. (STArray h a → ST h b) → Array a → ST h (Array a)", "documentation": { "kind": "markdown", "value": "Perform an effect requiring a mutable array on a copy of an immutable array,\nsafely returning the result as an immutable array.\n\n*From: Data.Array.ST*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "withArray", "Data.Array.ST", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "withArray" }, "sortText": "Z.withArray", "additionalTextEdits": null, "filterText": null, "insertText": "withArray", "kind": 12, "label": "withArray" }, { "detail": "Date → Weekday", "documentation": { "kind": "markdown", "value": "The weekday for a date value.\n\n*From: Data.Date*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "weekday", "Data.Date", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "weekday" }, "sortText": "Z.weekday", "additionalTextEdits": null, "filterText": null, "insertText": "weekday", "kind": 12, "label": "weekday" }, { "detail": "Date → Weekday", "documentation": { "kind": "markdown", "value": "The weekday for a date value.\n\n*From: Data.DateTime*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "weekday", "Data.DateTime", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "weekday" }, "sortText": "Z.weekday", "additionalTextEdits": null, "filterText": null, "insertText": "weekday", "kind": 12, "label": "weekday" }, { "detail": "Number → Duration", "documentation": { "kind": "markdown", "value": "\n*From: Data.Interval*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "week", "Data.Interval", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "week" }, "sortText": "Z.week", "additionalTextEdits": null, "filterText": null, "insertText": "week", "kind": 12, "label": "week" }, { "detail": "Number → Duration", "documentation": { "kind": "markdown", "value": "\n*From: Data.Interval.Duration*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "week", "Data.Interval.Duration", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "week" }, "sortText": "Z.week", "additionalTextEdits": null, "filterText": null, "insertText": "week", "kind": 12, "label": "week" }, { "detail": "∀ a t. Newtype t a ⇒ a → t", "documentation": { "kind": "markdown", "value": "\n*From: Data.Newtype*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "wrap", "Data.Newtype", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "wrap" }, "sortText": "Z.wrap", "additionalTextEdits": null, "filterText": null, "insertText": "wrap", "kind": 12, "label": "wrap" }, { "detail": "∀ a. Effect Boolean → Effect a → Effect Unit", "documentation": { "kind": "markdown", "value": "Loop while a condition is `true`.\n\n`whileE b m` is effectful computation which runs the effectful computation\n`b`. If its result is `true`, it runs the effectful computation `m` and\nloops. If not, the computation ends.\n\n*From: Effect*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "whileE", "Effect", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "whileE" }, "sortText": "Z.whileE", "additionalTextEdits": null, "filterText": null, "insertText": "whileE", "kind": 12, "label": "whileE" }, { "detail": "∀ m. MonadEffect m ⇒ String → m Unit", "documentation": { "kind": "markdown", "value": "\n*From: Effect.Class.Console*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "warn", "Effect.Class.Console", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "warn" }, "sortText": "Z.warn", "additionalTextEdits": null, "filterText": null, "insertText": "warn", "kind": 12, "label": "warn" }, { "detail": "∀ m a. MonadEffect m ⇒ Show a ⇒ a → m Unit", "documentation": { "kind": "markdown", "value": "\n*From: Effect.Class.Console*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "warnShow", "Effect.Class.Console", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "warnShow" }, "sortText": "Z.warnShow", "additionalTextEdits": null, "filterText": null, "insertText": "warnShow", "kind": 12, "label": "warnShow" }, { "detail": "String → Effect Unit", "documentation": { "kind": "markdown", "value": "Write an warning to the console.\n\n*From: Effect.Console*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "warn", "Effect.Console", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "warn" }, "sortText": "Z.warn", "additionalTextEdits": null, "filterText": null, "insertText": "warn", "kind": 12, "label": "warn" }, { "detail": "∀ a. Show a ⇒ a → Effect Unit", "documentation": { "kind": "markdown", "value": "Write an warning value to the console, using its `Show` instance to produce\na `String`.\n\n*From: Effect.Console*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "warnShow", "Effect.Console", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "warnShow" }, "sortText": "Z.warnShow", "additionalTextEdits": null, "filterText": null, "insertText": "warnShow", "kind": 12, "label": "warnShow" }, { "detail": "∀ s. s → Ref s → Effect Unit", "documentation": { "kind": "markdown", "value": "Update the value of a mutable reference to the specified value.\n\n*From: Effect.Ref*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "write", "Effect.Ref", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "write" }, "sortText": "Z.write", "additionalTextEdits": null, "filterText": null, "insertText": "write", "kind": 12, "label": "write" }, { "detail": "∀ m buf. MutableBuffer buf m ⇒ BufferValueType → Number → Int → buf → m Unit", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "write", "Node.Buffer", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "write" }, "sortText": "Z.write", "additionalTextEdits": null, "filterText": null, "insertText": "write", "kind": 12, "label": "write" }, { "detail": "∀ m buf. MutableBuffer buf m ⇒ Encoding → Int → Int → String → buf → m Int", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "writeString", "Node.Buffer", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "writeString" }, "sortText": "Z.writeString", "additionalTextEdits": null, "filterText": null, "insertText": "writeString", "kind": 12, "label": "writeString" }, { "detail": "∀ m buf. MutableBuffer buf m ⇒ BufferValueType → Number → Int → buf → m Unit", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer.Class*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "write", "Node.Buffer.Class", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "write" }, "sortText": "Z.write", "additionalTextEdits": null, "filterText": null, "insertText": "write", "kind": 12, "label": "write" }, { "detail": "∀ m buf. MutableBuffer buf m ⇒ Encoding → Int → Int → String → buf → m Int", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer.Class*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "writeString", "Node.Buffer.Class", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "writeString" }, "sortText": "Z.writeString", "additionalTextEdits": null, "filterText": null, "insertText": "writeString", "kind": 12, "label": "writeString" }, { "detail": "∀ buf m. Monad m ⇒ BufferValueType → Number → Offset → buf → m Unit", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "write", "Node.Buffer.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "write" }, "sortText": "Z.write", "additionalTextEdits": null, "filterText": null, "insertText": "write", "kind": 12, "label": "write" }, { "detail": "∀ buf m. Monad m ⇒ Encoding → Offset → Int → String → buf → m Int", "documentation": { "kind": "markdown", "value": "\n*From: Node.Buffer.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "writeString", "Node.Buffer.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "writeString" }, "sortText": "Z.writeString", "additionalTextEdits": null, "filterText": null, "insertText": "writeString", "kind": 12, "label": "writeString" }, { "detail": "FilePath → Buffer → Callback Unit → Effect Unit", "documentation": { "kind": "markdown", "value": "Writes a buffer to a file.\n\n*From: Node.FS.Async*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "writeFile", "Node.FS.Async", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "writeFile" }, "sortText": "Z.writeFile", "additionalTextEdits": null, "filterText": null, "insertText": "writeFile", "kind": 12, "label": "writeFile" }, { "detail": "Encoding → FilePath → String → Callback Unit → Effect Unit", "documentation": { "kind": "markdown", "value": "Writes text to a file using the specified encoding.\n\n*From: Node.FS.Async*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "writeTextFile", "Node.FS.Async", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "writeTextFile" }, "sortText": "Z.writeTextFile", "additionalTextEdits": null, "filterText": null, "insertText": "writeTextFile", "kind": 12, "label": "writeTextFile" }, { "detail": "Perm", "documentation": { "kind": "markdown", "value": "The \"writable\" permission.\n\n*From: Node.FS.Perms*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "write", "Node.FS.Perms", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "write" }, "sortText": "Z.write", "additionalTextEdits": null, "filterText": null, "insertText": "write", "kind": 12, "label": "write" }, { "detail": "FilePath → Buffer → Effect Unit", "documentation": { "kind": "markdown", "value": "Writes a buffer to a file.\n\n*From: Node.FS.Sync*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "writeFile", "Node.FS.Sync", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "writeFile" }, "sortText": "Z.writeFile", "additionalTextEdits": null, "filterText": null, "insertText": "writeFile", "kind": 12, "label": "writeFile" }, { "detail": "Encoding → FilePath → String → Effect Unit", "documentation": { "kind": "markdown", "value": "Writes text to a file using the specified encoding.\n\n*From: Node.FS.Sync*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "writeTextFile", "Node.FS.Sync", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "writeTextFile" }, "sortText": "Z.writeTextFile", "additionalTextEdits": null, "filterText": null, "insertText": "writeTextFile", "kind": 12, "label": "writeTextFile" }, { "detail": "∀ r. Writable r → Buffer → Effect Unit → Effect Boolean", "documentation": { "kind": "markdown", "value": "Write a Buffer to a writable stream.\n\n*From: Node.Stream*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "write", "Node.Stream", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "write" }, "sortText": "Z.write", "additionalTextEdits": null, "filterText": null, "insertText": "write", "kind": 12, "label": "write" }, { "detail": "∀ r. Writable r → Encoding → String → Effect Unit → Effect Boolean", "documentation": { "kind": "markdown", "value": "Write a string in the specified encoding to a writable stream.\n\n*From: Node.Stream*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "writeString", "Node.Stream", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "writeString" }, "sortText": "Z.writeString", "additionalTextEdits": null, "filterText": null, "insertText": "writeString", "kind": 12, "label": "writeString" }, { "detail": "∀ m. Applicative m ⇒ Boolean → m Unit → m Unit", "documentation": { "kind": "markdown", "value": "Perform an applicative action when a condition is true.\n\n*From: Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "when", "Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "when" }, "sortText": "Z.when", "additionalTextEdits": null, "filterText": null, "insertText": "when", "kind": 12, "label": "when" }, { "detail": "∀ m. Monad m ⇒ m Boolean → m Unit → m Unit", "documentation": { "kind": "markdown", "value": "Perform a monadic action when a condition is true, where the conditional\nvalue is also in a monadic context.\n\n*From: Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "whenM", "Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "whenM" }, "sortText": "Z.whenM", "additionalTextEdits": null, "filterText": null, "insertText": "whenM", "kind": 12, "label": "whenM" }, { "detail": "Boolean → String → Result", "documentation": { "kind": "markdown", "value": "This operator attaches an error message to a failed test.\n\nFor example:\n\n```purescript\ntest x = myProperty x (\"myProperty did not hold for \" <> show x)\n```\n\n*From: Test.QuickCheck*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "withHelp", "Test.QuickCheck", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "withHelp" }, "sortText": "Z.withHelp", "additionalTextEdits": null, "filterText": null, "insertText": "withHelp", "kind": 12, "label": "withHelp" }, { "detail": "String → Effect Unit", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Console*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "write", "Test.Spec.Console", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 17, "line": 9 }, "end": { "line": 9, "character": 18 } }, "newText": "write" }, "sortText": "Z.write", "additionalTextEdits": null, "filterText": null, "insertText": "write", "kind": 12, "label": "write" } ], "isIncomplete": false } [Trace - 4:17:26 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 94 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec, describe)\n\nspec :: Spec Unit\nspec = describe \"Problems\" do\n describe \"Problem 1\" do\n it \"returns correct result\" $ add 1 2 `shouldEqual` 3\n" } ] } [Trace - 4:17:27 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 95 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec, describe)\n\nspec :: Spec Unit\nspec = describe \"Problems\" do\n describe \"Problem 1\" do\n i \"returns correct result\" $ add 1 2 `shouldEqual` 3\n" } ] } [Trace - 4:17:28 PM] Sending request 'textDocument/completion - (51)'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" }, "position": { "line": 9, "character": 6 }, "context": { "triggerKind": 1 } } [Trace - 4:17:28 PM] Received notification 'window/logMessage'. Params: { "type": 3, "message": "[Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead\n" } [Info - 4:17:28 PM] [Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead [Trace - 4:17:28 PM] Received response 'textDocument/completion - (51)' in 39ms. Result: { "items": [ { "detail": "NonEmptyList GraphicsParam", "documentation": { "kind": "markdown", "value": "\n*From: Ansi.Output*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "italic", "Ansi.Output", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "italic" }, "sortText": "Z.italic", "additionalTextEdits": null, "filterText": null, "insertText": "italic", "kind": 12, "label": "italic" }, { "detail": "NonEmptyList GraphicsParam", "documentation": { "kind": "markdown", "value": "\n*From: Ansi.Output*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "inverse", "Ansi.Output", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "inverse" }, "sortText": "Z.inverse", "additionalTextEdits": null, "filterText": null, "insertText": "inverse", "kind": 12, "label": "inverse" }, { "detail": "∀ a m. Bind m ⇒ m Boolean → m a → m a → m a", "documentation": { "kind": "markdown", "value": "Execute a monadic action if a condition holds.\n\nFor example:\n\n```purescript\nmain = ifM ((< 0.5) <$> random)\n (trace \"Heads\")\n (trace \"Tails\")\n```\n\n*From: Control.Bind*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "ifM", "Control.Bind", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "ifM" }, "sortText": "Z.ifM", "additionalTextEdits": null, "filterText": null, "insertText": "ifM", "kind": 12, "label": "ifM" }, { "detail": "∀ t a. Category a ⇒ a t t", "documentation": { "kind": "markdown", "value": "\n*From: Control.Category*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "identity", "Control.Category", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "identity" }, "sortText": "Z.identity", "additionalTextEdits": null, "filterText": null, "insertText": "identity", "kind": 12, "label": "identity" }, { "detail": "∀ a m. Bind m ⇒ m Boolean → m a → m a → m a", "documentation": { "kind": "markdown", "value": "Execute a monadic action if a condition holds.\n\nFor example:\n\n```purescript\nmain = ifM ((< 0.5) <$> random)\n (trace \"Heads\")\n (trace \"Tails\")\n```\n\n*From: Control.Monad*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "ifM", "Control.Monad", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "ifM" }, "sortText": "Z.ifM", "additionalTextEdits": null, "filterText": null, "insertText": "ifM", "kind": 12, "label": "ifM" }, { "detail": "∀ f a. Monad f ⇒ (a → a) → a → ListT f a", "documentation": { "kind": "markdown", "value": "Generate an infinite list by iterating a function.\n\n*From: Control.Monad.List.Trans*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "iterate", "Control.Monad.List.Trans", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "iterate" }, "sortText": "Z.iterate", "additionalTextEdits": null, "filterText": null, "insertText": "iterate", "kind": 12, "label": "iterate" }, { "detail": "∀ a m. Bind m ⇒ m Boolean → m a → m a → m a", "documentation": { "kind": "markdown", "value": "Execute a monadic action if a condition holds.\n\nFor example:\n\n```purescript\nmain = ifM ((< 0.5) <$> random)\n (trace \"Heads\")\n (trace \"Tails\")\n```\n\n*From: Control.MonadPlus*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "ifM", "Control.MonadPlus", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "ifM" }, "sortText": "Z.ifM", "additionalTextEdits": null, "filterText": null, "insertText": "ifM", "kind": 12, "label": "ifM" }, { "detail": "∀ a m. Bind m ⇒ m Boolean → m a → m a → m a", "documentation": { "kind": "markdown", "value": "Execute a monadic action if a condition holds.\n\nFor example:\n\n```purescript\nmain = ifM ((< 0.5) <$> random)\n (trace \"Heads\")\n (trace \"Tails\")\n```\n\n*From: Control.MonadZero*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "ifM", "Control.MonadZero", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "ifM" }, "sortText": "Z.ifM", "additionalTextEdits": null, "filterText": null, "insertText": "ifM", "kind": 12, "label": "ifM" }, { "detail": "∀ a. Ord a ⇒ a → Array a → Array a", "documentation": { "kind": "markdown", "value": "Insert an element into a sorted array.\n\n```purescript\ninsert 10 [1, 2, 20, 21] = [1, 2, 10, 20, 21]\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insert", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "insert" }, "sortText": "Z.insert", "additionalTextEdits": null, "filterText": null, "insertText": "insert", "kind": 12, "label": "insert" }, { "detail": "∀ a. (a → a → Ordering) → a → Array a → Array a", "documentation": { "kind": "markdown", "value": "Insert an element into a sorted array, using the specified function to\ndetermine the ordering of elements.\n\n```purescript\ninvertCompare a b = invert $ compare a b\n\ninsertBy invertCompare 10 [21, 20, 2, 1] = [21, 20, 10, 2, 1]\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insertBy", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "insertBy" }, "sortText": "Z.insertBy", "additionalTextEdits": null, "filterText": null, "insertText": "insertBy", "kind": 12, "label": "insertBy" }, { "detail": "∀ a. Array a → Maybe (Array a)", "documentation": { "kind": "markdown", "value": "Get all but the last element of an array, creating a new array, or\n`Nothing` if the array is empty.\n\n```purescript\ninit [1, 2, 3, 4] = Just [1, 2, 3]\ninit [] = Nothing\n```\n\nRunning time: `O(n)` where `n` is the length of the array\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "init", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "init" }, "sortText": "Z.init", "additionalTextEdits": null, "filterText": null, "insertText": "init", "kind": 12, "label": "init" }, { "detail": "∀ a. Array a → Int → Maybe a", "documentation": { "kind": "markdown", "value": "This function provides a safe way to read a value at a particular index\nfrom an array.\n\n```purescript\nsentence = [\"Hello\", \"World\", \"!\"]\n\nindex sentence 0 = Just \"Hello\"\nindex sentence 7 = Nothing\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "index", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "index" }, "sortText": "Z.index", "additionalTextEdits": null, "filterText": null, "insertText": "index", "kind": 12, "label": "index" }, { "detail": "∀ a. Int → a → Array a → Maybe (Array a)", "documentation": { "kind": "markdown", "value": "Insert an element at the specified index, creating a new array, or\nreturning `Nothing` if the index is out of bounds.\n\n```purescript\ninsertAt 2 \"!\" [\"Hello\", \"World\"] = Just [\"Hello\", \"World\", \"!\"]\ninsertAt 10 \"!\" [\"Hello\"] = Nothing\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insertAt", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "insertAt" }, "sortText": "Z.insertAt", "additionalTextEdits": null, "filterText": null, "insertText": "insertAt", "kind": 12, "label": "insertAt" }, { "detail": "∀ a. Eq a ⇒ Array a → Array a → Array a", "documentation": { "kind": "markdown", "value": "Calculate the intersection of two arrays, creating a new array. Note that\nduplicates in the first array are preserved while duplicates in the second\narray are removed.\n\n```purescript\nintersect [1, 1, 2] [2, 2, 1] = [1, 1, 2]\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersect", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "intersect" }, "sortText": "Z.intersect", "additionalTextEdits": null, "filterText": null, "insertText": "intersect", "kind": 12, "label": "intersect" }, { "detail": "∀ a. (a → a → Boolean) → Array a → Array a → Array a", "documentation": { "kind": "markdown", "value": "Calculate the intersection of two arrays, using the specified equivalence\nrelation to compare elements, creating a new array. Note that duplicates\nin the first array are preserved while duplicates in the second array are\nremoved.\n\n```purescript\nmod3eq a b = a `mod` 3 == b `mod` 3\nintersectBy mod3eq [1, 2, 3] [4, 6, 7] = [1, 3]\n```\n\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersectBy", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "intersectBy" }, "sortText": "Z.intersectBy", "additionalTextEdits": null, "filterText": null, "insertText": "intersectBy", "kind": 12, "label": "intersectBy" }, { "detail": "∀ f m. Foldable f ⇒ Monoid m ⇒ m → f m → m", "documentation": { "kind": "markdown", "value": "Fold a data structure, accumulating values in some `Monoid`,\ncombining adjacent elements using the specified separator.\n\nFor example:\n\n```purescript\n> intercalate \", \" [\"Lorem\", \"ipsum\", \"dolor\"]\n= \"Lorem, ipsum, dolor\"\n\n> intercalate \"*\" [\"a\", \"b\", \"c\"]\n= \"a*b*c\"\n\n> intercalate [1] [[2, 3], [4, 5], [6, 7]]\n= [2, 3, 1, 4, 5, 1, 6, 7]\n```\n\n*From: Data.Array*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intercalate", "Data.Array", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "intercalate" }, "sortText": "Z.intercalate", "additionalTextEdits": null, "filterText": null, "insertText": "intercalate", "kind": 12, "label": "intercalate" }, { "detail": "∀ a. Ord a ⇒ a → NonEmptyArray a → NonEmptyArray a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insert", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "insert" }, "sortText": "Z.insert", "additionalTextEdits": null, "filterText": null, "insertText": "insert", "kind": 12, "label": "insert" }, { "detail": "∀ a. (a → a → Ordering) → a → NonEmptyArray a → NonEmptyArray a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insertBy", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "insertBy" }, "sortText": "Z.insertBy", "additionalTextEdits": null, "filterText": null, "insertText": "insertBy", "kind": 12, "label": "insertBy" }, { "detail": "∀ a. NonEmptyArray a → Array a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "init", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "init" }, "sortText": "Z.init", "additionalTextEdits": null, "filterText": null, "insertText": "init", "kind": 12, "label": "init" }, { "detail": "∀ a. NonEmptyArray a → Int → Maybe a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "index", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "index" }, "sortText": "Z.index", "additionalTextEdits": null, "filterText": null, "insertText": "index", "kind": 12, "label": "index" }, { "detail": "∀ a. Int → a → NonEmptyArray a → Maybe (NonEmptyArray a)", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insertAt", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "insertAt" }, "sortText": "Z.insertAt", "additionalTextEdits": null, "filterText": null, "insertText": "insertAt", "kind": 12, "label": "insertAt" }, { "detail": "∀ a. Eq a ⇒ NonEmptyArray a → NonEmptyArray a → Array a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersect", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "intersect" }, "sortText": "Z.intersect", "additionalTextEdits": null, "filterText": null, "insertText": "intersect", "kind": 12, "label": "intersect" }, { "detail": "∀ a. Eq a ⇒ NonEmptyArray a → Array a → Array a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersect'", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "intersect'" }, "sortText": "Z.intersect'", "additionalTextEdits": null, "filterText": null, "insertText": "intersect'", "kind": 12, "label": "intersect'" }, { "detail": "∀ a. (a → a → Boolean) → NonEmptyArray a → NonEmptyArray a → Array a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersectBy", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "intersectBy" }, "sortText": "Z.intersectBy", "additionalTextEdits": null, "filterText": null, "insertText": "intersectBy", "kind": 12, "label": "intersectBy" }, { "detail": "∀ a. (a → a → Boolean) → NonEmptyArray a → Array a → Array a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Array.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersectBy'", "Data.Array.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "intersectBy'" }, "sortText": "Z.intersectBy'", "additionalTextEdits": null, "filterText": null, "insertText": "intersectBy'", "kind": 12, "label": "intersectBy'" }, { "detail": "∀ a. Partial ⇒ Array a → Array a", "documentation": { "kind": "markdown", "value": "Get all but the last element of a non-empty array.\n\nRunning time: `O(n)`, where `n` is the length of the array.\n\n*From: Data.Array.Partial*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "init", "Data.Array.Partial", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "init" }, "sortText": "Z.init", "additionalTextEdits": null, "filterText": null, "insertText": "init", "kind": 12, "label": "init" }, { "detail": "∀ r a. (Int → Maybe a) → ST r (Iterator r a)", "documentation": { "kind": "markdown", "value": "Make an Iterator given an indexing function into an array (or anything\nelse). If `xs :: Array a`, the standard way to create an iterator over\n`xs` is to use `iterator (xs !! _)`, where `(!!)` comes from `Data.Array`.\n\n*From: Data.Array.ST.Iterator*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "iterator", "Data.Array.ST.Iterator", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "iterator" }, "sortText": "Z.iterator", "additionalTextEdits": null, "filterText": null, "insertText": "iterator", "kind": 12, "label": "iterator" }, { "detail": "∀ r a. Iterator r a → (a → ST r Unit) → ST r Unit", "documentation": { "kind": "markdown", "value": "Perform an action once for each item left in an iterator. If the action\nitself also advances the same iterator, `iterate` will miss those items\nout.\n\n*From: Data.Array.ST.Iterator*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "iterate", "Data.Array.ST.Iterator", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "iterate" }, "sortText": "Z.iterate", "additionalTextEdits": null, "filterText": null, "insertText": "iterate", "kind": 12, "label": "iterate" }, { "detail": "∀ a. HeytingAlgebra a ⇒ a → a → a", "documentation": { "kind": "markdown", "value": "\n*From: Data.BooleanAlgebra*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "implies", "Data.BooleanAlgebra", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "implies" }, "sortText": "Z.implies", "additionalTextEdits": null, "filterText": null, "insertText": "implies", "kind": 12, "label": "implies" }, { "detail": "Year → Boolean", "documentation": { "kind": "markdown", "value": "Checks whether a year is a leap year according to the proleptic Gregorian\ncalendar.\n\n*From: Data.Date*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isLeapYear", "Data.Date", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "isLeapYear" }, "sortText": "Z.isLeapYear", "additionalTextEdits": null, "filterText": null, "insertText": "isLeapYear", "kind": 12, "label": "isLeapYear" }, { "detail": "Milliseconds → Maybe Instant", "documentation": { "kind": "markdown", "value": "Attempts to create an `Instant` from a `Milliseconds` duration. The\nminimum acceptable value equates to the `bottom` `DateTime` and the maximum\nacceptable value equates to the `top` `DateTime`.\n\n*From: Data.DateTime.Instant*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "instant", "Data.DateTime.Instant", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "instant" }, "sortText": "Z.instant", "additionalTextEdits": null, "filterText": null, "insertText": "instant", "kind": 12, "label": "instant" }, { "detail": "∀ a b. Either a b → Boolean", "documentation": { "kind": "markdown", "value": "Returns `true` when the `Either` value was constructed with `Left`.\n\n*From: Data.Either*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isLeft", "Data.Either", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "isLeft" }, "sortText": "Z.isLeft", "additionalTextEdits": null, "filterText": null, "insertText": "isLeft", "kind": 12, "label": "isLeft" }, { "detail": "∀ a b. Either a b → Boolean", "documentation": { "kind": "markdown", "value": "Returns `true` when the `Either` value was constructed with `Right`.\n\n*From: Data.Either*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isRight", "Data.Either", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "isRight" }, "sortText": "Z.isRight", "additionalTextEdits": null, "filterText": null, "insertText": "isRight", "kind": 12, "label": "isRight" }, { "detail": "∀ b a. Inject a b ⇒ a → b", "documentation": { "kind": "markdown", "value": "\n*From: Data.Either.Inject*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "inj", "Data.Either.Inject", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "inj" }, "sortText": "Z.inj", "additionalTextEdits": null, "filterText": null, "insertText": "inj", "kind": 12, "label": "inj" }, { "detail": "∀ a z. a → a \\/ z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Either.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in1", "Data.Either.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "in1" }, "sortText": "Z.in1", "additionalTextEdits": null, "filterText": null, "insertText": "in1", "kind": 12, "label": "in1" }, { "detail": "∀ a b z. b → a \\/ b \\/ z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Either.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in2", "Data.Either.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "in2" }, "sortText": "Z.in2", "additionalTextEdits": null, "filterText": null, "insertText": "in2", "kind": 12, "label": "in2" }, { "detail": "∀ a b c z. c → a \\/ b \\/ c \\/ z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Either.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in3", "Data.Either.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "in3" }, "sortText": "Z.in3", "additionalTextEdits": null, "filterText": null, "insertText": "in3", "kind": 12, "label": "in3" }, { "detail": "∀ a b c d z. d → a \\/ b \\/ c \\/ d \\/ z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Either.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in4", "Data.Either.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "in4" }, "sortText": "Z.in4", "additionalTextEdits": null, "filterText": null, "insertText": "in4", "kind": 12, "label": "in4" }, { "detail": "∀ a b c d e z. e → a \\/ b \\/ c \\/ d \\/ e \\/ z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Either.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in5", "Data.Either.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "in5" }, "sortText": "Z.in5", "additionalTextEdits": null, "filterText": null, "insertText": "in5", "kind": 12, "label": "in5" }, { "detail": "∀ a b c d e f z. f → a \\/ b \\/ c \\/ d \\/ e \\/ f \\/ z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Either.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in6", "Data.Either.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "in6" }, "sortText": "Z.in6", "additionalTextEdits": null, "filterText": null, "insertText": "in6", "kind": 12, "label": "in6" }, { "detail": "∀ a b c d e f g z. g → a \\/ b \\/ c \\/ d \\/ e \\/ f \\/ g \\/ z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Either.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in7", "Data.Either.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "in7" }, "sortText": "Z.in7", "additionalTextEdits": null, "filterText": null, "insertText": "in7", "kind": 12, "label": "in7" }, { "detail": "∀ a b c d e f g h z. h → a \\/ b \\/ c \\/ d \\/ e \\/ f \\/ g \\/ h \\/ z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Either.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in8", "Data.Either.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "in8" }, "sortText": "Z.in8", "additionalTextEdits": null, "filterText": null, "insertText": "in8", "kind": 12, "label": "in8" }, { "detail": "∀ a b c d e f g h i z. i → a \\/ b \\/ c \\/ d \\/ e \\/ f \\/ g \\/ h \\/ i \\/ z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Either.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in9", "Data.Either.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "in9" }, "sortText": "Z.in9", "additionalTextEdits": null, "filterText": null, "insertText": "in9", "kind": 12, "label": "in9" }, { "detail": "∀ a b c d e f g h i j z. j → a \\/ b \\/ c \\/ d \\/ e \\/ f \\/ g \\/ h \\/ i \\/ j \\/ z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Either.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in10", "Data.Either.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "in10" }, "sortText": "Z.in10", "additionalTextEdits": null, "filterText": null, "insertText": "in10", "kind": 12, "label": "in10" }, { "detail": "∀ f m. Foldable f ⇒ Monoid m ⇒ m → f m → m", "documentation": { "kind": "markdown", "value": "Fold a data structure, accumulating values in some `Monoid`,\ncombining adjacent elements using the specified separator.\n\nFor example:\n\n```purescript\n> intercalate \", \" [\"Lorem\", \"ipsum\", \"dolor\"]\n= \"Lorem, ipsum, dolor\"\n\n> intercalate \"*\" [\"a\", \"b\", \"c\"]\n= \"a*b*c\"\n\n> intercalate [1] [[2, 3], [4, 5], [6, 7]]\n= [2, 3, 1, 4, 5, 1, 6, 7]\n```\n\n*From: Data.Foldable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intercalate", "Data.Foldable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "intercalate" }, "sortText": "Z.intercalate", "additionalTextEdits": null, "filterText": null, "insertText": "intercalate", "kind": 12, "label": "intercalate" }, { "detail": "∀ a f. Foldable f ⇒ Int → f a → Maybe a", "documentation": { "kind": "markdown", "value": "Try to get nth element from the left in a data structure\n\n*From: Data.Foldable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "indexl", "Data.Foldable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "indexl" }, "sortText": "Z.indexl", "additionalTextEdits": null, "filterText": null, "insertText": "indexl", "kind": 12, "label": "indexl" }, { "detail": "∀ a f. Foldable f ⇒ Int → f a → Maybe a", "documentation": { "kind": "markdown", "value": "Try to get nth element from the right in a data structure\n\n*From: Data.Foldable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "indexr", "Data.Foldable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "indexr" }, "sortText": "Z.indexr", "additionalTextEdits": null, "filterText": null, "insertText": "indexr", "kind": 12, "label": "indexr" }, { "detail": "∀ t a. Category a ⇒ a t t", "documentation": { "kind": "markdown", "value": "\n*From: Data.Function*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "identity", "Data.Function", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "identity" }, "sortText": "Z.identity", "additionalTextEdits": null, "filterText": null, "insertText": "identity", "kind": 12, "label": "identity" }, { "detail": "∀ f a b. Contravariant f ⇒ (a → b) → (b → a) → f a → f b", "documentation": { "kind": "markdown", "value": "As all `Contravariant` functors are also trivially `Invariant`, this function can be used as the `imap` implementation for any types that have an existing `Contravariant` instance.\n\n*From: Data.Functor.Contravariant*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "imapC", "Data.Functor.Contravariant", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "imapC" }, "sortText": "Z.imapC", "additionalTextEdits": null, "filterText": null, "insertText": "imapC", "kind": 12, "label": "imapC" }, { "detail": "∀ a g f. Inject f g ⇒ f a → g a", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Coproduct.Inject*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "inj", "Data.Functor.Coproduct.Inject", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "inj" }, "sortText": "Z.inj", "additionalTextEdits": null, "filterText": null, "insertText": "inj", "kind": 12, "label": "inj" }, { "detail": "∀ a z. a ~> C2 a z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Coproduct.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in1", "Data.Functor.Coproduct.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "in1" }, "sortText": "Z.in1", "additionalTextEdits": null, "filterText": null, "insertText": "in1", "kind": 12, "label": "in1" }, { "detail": "∀ a b z. b ~> C3 a b z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Coproduct.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in2", "Data.Functor.Coproduct.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "in2" }, "sortText": "Z.in2", "additionalTextEdits": null, "filterText": null, "insertText": "in2", "kind": 12, "label": "in2" }, { "detail": "∀ a b c z. c ~> C4 a b c z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Coproduct.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in3", "Data.Functor.Coproduct.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "in3" }, "sortText": "Z.in3", "additionalTextEdits": null, "filterText": null, "insertText": "in3", "kind": 12, "label": "in3" }, { "detail": "∀ a b c d z. d ~> C5 a b c d z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Coproduct.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in4", "Data.Functor.Coproduct.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "in4" }, "sortText": "Z.in4", "additionalTextEdits": null, "filterText": null, "insertText": "in4", "kind": 12, "label": "in4" }, { "detail": "∀ a b c d e z. e ~> C6 a b c d e z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Coproduct.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in5", "Data.Functor.Coproduct.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "in5" }, "sortText": "Z.in5", "additionalTextEdits": null, "filterText": null, "insertText": "in5", "kind": 12, "label": "in5" }, { "detail": "∀ a b c d e f z. f ~> C7 a b c d e f z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Coproduct.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in6", "Data.Functor.Coproduct.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "in6" }, "sortText": "Z.in6", "additionalTextEdits": null, "filterText": null, "insertText": "in6", "kind": 12, "label": "in6" }, { "detail": "∀ a b c d e f g z. g ~> C8 a b c d e f g z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Coproduct.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in7", "Data.Functor.Coproduct.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "in7" }, "sortText": "Z.in7", "additionalTextEdits": null, "filterText": null, "insertText": "in7", "kind": 12, "label": "in7" }, { "detail": "∀ a b c d e f g h z. h ~> C9 a b c d e f g h z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Coproduct.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in8", "Data.Functor.Coproduct.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "in8" }, "sortText": "Z.in8", "additionalTextEdits": null, "filterText": null, "insertText": "in8", "kind": 12, "label": "in8" }, { "detail": "∀ a b c d e f g h i z. i ~> C10 a b c d e f g h i z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Coproduct.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in9", "Data.Functor.Coproduct.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "in9" }, "sortText": "Z.in9", "additionalTextEdits": null, "filterText": null, "insertText": "in9", "kind": 12, "label": "in9" }, { "detail": "∀ a b c d e f g h i j z. j ~> C11 a b c d e f g h i j z", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Coproduct.Nested*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "in10", "Data.Functor.Coproduct.Nested", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "in10" }, "sortText": "Z.in10", "additionalTextEdits": null, "filterText": null, "insertText": "in10", "kind": 12, "label": "in10" }, { "detail": "∀ a b f. Invariant f ⇒ (a → b) → (b → a) → f a → f b", "documentation": { "kind": "markdown", "value": "\n*From: Data.Functor.Invariant*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "imap", "Data.Functor.Invariant", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "imap" }, "sortText": "Z.imap", "additionalTextEdits": null, "filterText": null, "insertText": "imap", "kind": 12, "label": "imap" }, { "detail": "∀ f a b. Functor f ⇒ (a → b) → (b → a) → f a → f b", "documentation": { "kind": "markdown", "value": "As all `Functor`s are also trivially `Invariant`, this function can be\nused as the `imap` implementation for any types that has an existing\n`Functor` instance.\n\n*From: Data.Functor.Invariant*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "imapF", "Data.Functor.Invariant", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "imapF" }, "sortText": "Z.imapF", "additionalTextEdits": null, "filterText": null, "insertText": "imapF", "kind": 12, "label": "imapF" }, { "detail": "∀ a. HeytingAlgebra a ⇒ a → a → a", "documentation": { "kind": "markdown", "value": "\n*From: Data.HeytingAlgebra*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "implies", "Data.HeytingAlgebra", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "implies" }, "sortText": "Z.implies", "additionalTextEdits": null, "filterText": null, "insertText": "implies", "kind": 12, "label": "implies" }, { "detail": "∀ subrow row rowlist. HeytingAlgebraRecord rowlist row subrow ⇒ RLProxy rowlist → Record row → Record row → Record subrow", "documentation": { "kind": "markdown", "value": "\n*From: Data.HeytingAlgebra*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "impliesRecord", "Data.HeytingAlgebra", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "impliesRecord" }, "sortText": "Z.impliesRecord", "additionalTextEdits": null, "filterText": null, "insertText": "impliesRecord", "kind": 12, "label": "impliesRecord" }, { "detail": "JSDate → Boolean", "documentation": { "kind": "markdown", "value": "Checks whether a date value is valid. When a date is invalid, the majority\nof the functions return `NaN`, `\"Invalid Date\"`, or throw an exception.\n\n*From: Data.JSDate*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isValid", "Data.JSDate", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "isValid" }, "sortText": "Z.isValid", "additionalTextEdits": null, "filterText": null, "insertText": "isValid", "kind": 12, "label": "isValid" }, { "detail": "∀ a. Ord a ⇒ a → List a → List a", "documentation": { "kind": "markdown", "value": "Insert an element into a sorted list.\n\nRunning time: `O(n)`\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insert", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "insert" }, "sortText": "Z.insert", "additionalTextEdits": null, "filterText": null, "insertText": "insert", "kind": 12, "label": "insert" }, { "detail": "∀ a. (a → a → Ordering) → a → List a → List a", "documentation": { "kind": "markdown", "value": "Insert an element into a sorted list, using the specified function to\ndetermine the ordering of elements.\n\nRunning time: `O(n)`\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insertBy", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "insertBy" }, "sortText": "Z.insertBy", "additionalTextEdits": null, "filterText": null, "insertText": "insertBy", "kind": 12, "label": "insertBy" }, { "detail": "∀ a. List a → Maybe (List a)", "documentation": { "kind": "markdown", "value": "Get all but the last element of a list, or `Nothing` if the list is empty.\n\nRunning time: `O(n)`\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "init", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "init" }, "sortText": "Z.init", "additionalTextEdits": null, "filterText": null, "insertText": "init", "kind": 12, "label": "init" }, { "detail": "∀ a. List a → Int → Maybe a", "documentation": { "kind": "markdown", "value": "Get the element at the specified index, or `Nothing` if the index is out-of-bounds.\n\nRunning time: `O(n)` where `n` is the required index.\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "index", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "index" }, "sortText": "Z.index", "additionalTextEdits": null, "filterText": null, "insertText": "index", "kind": 12, "label": "index" }, { "detail": "∀ a. Int → a → List a → Maybe (List a)", "documentation": { "kind": "markdown", "value": "Insert an element into a list at the specified index, returning a new\nlist or `Nothing` if the index is out-of-bounds.\n\nRunning time: `O(n)`\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insertAt", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "insertAt" }, "sortText": "Z.insertAt", "additionalTextEdits": null, "filterText": null, "insertText": "insertAt", "kind": 12, "label": "insertAt" }, { "detail": "∀ a. Eq a ⇒ List a → List a → List a", "documentation": { "kind": "markdown", "value": "Calculate the intersection of two lists.\n\nRunning time: `O(n^2)`\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersect", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "intersect" }, "sortText": "Z.intersect", "additionalTextEdits": null, "filterText": null, "insertText": "intersect", "kind": 12, "label": "intersect" }, { "detail": "∀ a. (a → a → Boolean) → List a → List a → List a", "documentation": { "kind": "markdown", "value": "Calculate the intersection of two lists, using the specified\nfunction to determine equality of elements.\n\nRunning time: `O(n^2)`\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersectBy", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "intersectBy" }, "sortText": "Z.intersectBy", "additionalTextEdits": null, "filterText": null, "insertText": "intersectBy", "kind": 12, "label": "intersectBy" }, { "detail": "∀ f m. Foldable f ⇒ Monoid m ⇒ m → f m → m", "documentation": { "kind": "markdown", "value": "Fold a data structure, accumulating values in some `Monoid`,\ncombining adjacent elements using the specified separator.\n\nFor example:\n\n```purescript\n> intercalate \", \" [\"Lorem\", \"ipsum\", \"dolor\"]\n= \"Lorem, ipsum, dolor\"\n\n> intercalate \"*\" [\"a\", \"b\", \"c\"]\n= \"a*b*c\"\n\n> intercalate [1] [[2, 3], [4, 5], [6, 7]]\n= [2, 3, 1, 4, 5, 1, 6, 7]\n```\n\n*From: Data.List*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intercalate", "Data.List", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "intercalate" }, "sortText": "Z.intercalate", "additionalTextEdits": null, "filterText": null, "insertText": "intercalate", "kind": 12, "label": "intercalate" }, { "detail": "∀ a. (a → a) → a → List a", "documentation": { "kind": "markdown", "value": "Create a list by iterating a function\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "iterate", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "iterate" }, "sortText": "Z.iterate", "additionalTextEdits": null, "filterText": null, "insertText": "iterate", "kind": 12, "label": "iterate" }, { "detail": "∀ a. Ord a ⇒ a → List a → List a", "documentation": { "kind": "markdown", "value": "Insert an element into a sorted list.\n\nRunning time: `O(n)`\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insert", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "insert" }, "sortText": "Z.insert", "additionalTextEdits": null, "filterText": null, "insertText": "insert", "kind": 12, "label": "insert" }, { "detail": "∀ a. (a → a → Ordering) → a → List a → List a", "documentation": { "kind": "markdown", "value": "Insert an element into a sorted list, using the specified function to determine the ordering\nof elements.\n\nRunning time: `O(n)`\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insertBy", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "insertBy" }, "sortText": "Z.insertBy", "additionalTextEdits": null, "filterText": null, "insertText": "insertBy", "kind": 12, "label": "insertBy" }, { "detail": "∀ a. List a → Maybe (List a)", "documentation": { "kind": "markdown", "value": "Get all but the last element of a list, or `Nothing` if the list is empty.\n\nRunning time: `O(n)`\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "init", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "init" }, "sortText": "Z.init", "additionalTextEdits": null, "filterText": null, "insertText": "init", "kind": 12, "label": "init" }, { "detail": "∀ a. List a → Int → Maybe a", "documentation": { "kind": "markdown", "value": "Get the element at the specified index, or `Nothing` if the index is out-of-bounds.\n\nRunning time: `O(n)` where `n` is the required index.\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "index", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "index" }, "sortText": "Z.index", "additionalTextEdits": null, "filterText": null, "insertText": "index", "kind": 12, "label": "index" }, { "detail": "∀ a. Int → a → List a → List a", "documentation": { "kind": "markdown", "value": "Insert an element into a list at the specified index, returning a new\nlist or `Nothing` if the index is out-of-bounds.\n\nThis function differs from the strict equivalent in that out-of-bounds arguments\nresult in the element being appended at the _end_ of the list.\n\nRunning time: `O(n)`\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insertAt", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "insertAt" }, "sortText": "Z.insertAt", "additionalTextEdits": null, "filterText": null, "insertText": "insertAt", "kind": 12, "label": "insertAt" }, { "detail": "∀ a. Eq a ⇒ List a → List a → List a", "documentation": { "kind": "markdown", "value": "Calculate the intersection of two lists.\n\nRunning time: `O(n^2)`\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersect", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "intersect" }, "sortText": "Z.intersect", "additionalTextEdits": null, "filterText": null, "insertText": "intersect", "kind": 12, "label": "intersect" }, { "detail": "∀ a. (a → a → Boolean) → List a → List a → List a", "documentation": { "kind": "markdown", "value": "Calculate the intersection of two lists, using the specified\nfunction to determine equality of elements.\n\nRunning time: `O(n^2)`\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersectBy", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "intersectBy" }, "sortText": "Z.intersectBy", "additionalTextEdits": null, "filterText": null, "insertText": "intersectBy", "kind": 12, "label": "intersectBy" }, { "detail": "∀ f m. Foldable f ⇒ Monoid m ⇒ m → f m → m", "documentation": { "kind": "markdown", "value": "Fold a data structure, accumulating values in some `Monoid`,\ncombining adjacent elements using the specified separator.\n\nFor example:\n\n```purescript\n> intercalate \", \" [\"Lorem\", \"ipsum\", \"dolor\"]\n= \"Lorem, ipsum, dolor\"\n\n> intercalate \"*\" [\"a\", \"b\", \"c\"]\n= \"a*b*c\"\n\n> intercalate [1] [[2, 3], [4, 5], [6, 7]]\n= [2, 3, 1, 4, 5, 1, 6, 7]\n```\n\n*From: Data.List.Lazy*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intercalate", "Data.List.Lazy", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "intercalate" }, "sortText": "Z.intercalate", "additionalTextEdits": null, "filterText": null, "insertText": "intercalate", "kind": 12, "label": "intercalate" }, { "detail": "∀ a. (a → a) → a → NonEmptyList a", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.Lazy.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "iterate", "Data.List.Lazy.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "iterate" }, "sortText": "Z.iterate", "additionalTextEdits": null, "filterText": null, "insertText": "iterate", "kind": 12, "label": "iterate" }, { "detail": "NonEmptyList ~> List", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.Lazy.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "init", "Data.List.Lazy.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "init" }, "sortText": "Z.init", "additionalTextEdits": null, "filterText": null, "insertText": "init", "kind": 12, "label": "init" }, { "detail": "NonEmptyList ~> List", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "init", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "init" }, "sortText": "Z.init", "additionalTextEdits": null, "filterText": null, "insertText": "init", "kind": 12, "label": "init" }, { "detail": "∀ a. NonEmptyList a → Int → Maybe a", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "index", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "index" }, "sortText": "Z.index", "additionalTextEdits": null, "filterText": null, "insertText": "index", "kind": 12, "label": "index" }, { "detail": "∀ a. Int → a → NonEmptyList a → Maybe (NonEmptyList a)", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insertAt", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "insertAt" }, "sortText": "Z.insertAt", "additionalTextEdits": null, "filterText": null, "insertText": "insertAt", "kind": 12, "label": "insertAt" }, { "detail": "∀ a. Eq a ⇒ NonEmptyList a → NonEmptyList a → NonEmptyList a", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersect", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "intersect" }, "sortText": "Z.intersect", "additionalTextEdits": null, "filterText": null, "insertText": "intersect", "kind": 12, "label": "intersect" }, { "detail": "∀ a. (a → a → Boolean) → NonEmptyList a → NonEmptyList a → NonEmptyList a", "documentation": { "kind": "markdown", "value": "\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersectBy", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "intersectBy" }, "sortText": "Z.intersectBy", "additionalTextEdits": null, "filterText": null, "insertText": "intersectBy", "kind": 12, "label": "intersectBy" }, { "detail": "∀ f m. Foldable f ⇒ Monoid m ⇒ m → f m → m", "documentation": { "kind": "markdown", "value": "Fold a data structure, accumulating values in some `Monoid`,\ncombining adjacent elements using the specified separator.\n\nFor example:\n\n```purescript\n> intercalate \", \" [\"Lorem\", \"ipsum\", \"dolor\"]\n= \"Lorem, ipsum, dolor\"\n\n> intercalate \"*\" [\"a\", \"b\", \"c\"]\n= \"a*b*c\"\n\n> intercalate [1] [[2, 3], [4, 5], [6, 7]]\n= [2, 3, 1, 4, 5, 1, 6, 7]\n```\n\n*From: Data.List.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intercalate", "Data.List.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "intercalate" }, "sortText": "Z.intercalate", "additionalTextEdits": null, "filterText": null, "insertText": "intercalate", "kind": 12, "label": "intercalate" }, { "detail": "∀ a. Partial ⇒ List a → List a", "documentation": { "kind": "markdown", "value": "Get all but the last element of a non-empty list.\n\nRunning time: `O(n)`\n\n*From: Data.List.Partial*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "init", "Data.List.Partial", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "init" }, "sortText": "Z.init", "additionalTextEdits": null, "filterText": null, "insertText": "init", "kind": 12, "label": "init" }, { "detail": "∀ k v. Ord k ⇒ k → v → Map k v → Map k v", "documentation": { "kind": "markdown", "value": "Insert or replace a key/value pair in a map\n\n*From: Data.Map*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insert", "Data.Map", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "insert" }, "sortText": "Z.insert", "additionalTextEdits": null, "filterText": null, "insertText": "insert", "kind": 12, "label": "insert" }, { "detail": "∀ k v. Ord k ⇒ (v → v → v) → k → v → Map k v → Map k v", "documentation": { "kind": "markdown", "value": "Inserts or updates a value with the given function.\n\nThe combining function is called with the existing value as the first\nargument and the new value as the second argument.\n\n*From: Data.Map*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insertWith", "Data.Map", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "insertWith" }, "sortText": "Z.insertWith", "additionalTextEdits": null, "filterText": null, "insertText": "insertWith", "kind": 12, "label": "insertWith" }, { "detail": "∀ k a b. Ord k ⇒ Map k a → Map k b → Map k a", "documentation": { "kind": "markdown", "value": "Compute the intersection of two maps, preferring values from the first map in the case\nof duplicate keys.\n\n*From: Data.Map*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersection", "Data.Map", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "intersection" }, "sortText": "Z.intersection", "additionalTextEdits": null, "filterText": null, "insertText": "intersection", "kind": 12, "label": "intersection" }, { "detail": "∀ k a b c. Ord k ⇒ (a → b → c) → Map k a → Map k b → Map k c", "documentation": { "kind": "markdown", "value": "Compute the intersection of two maps, using the specified function\nto combine values for duplicate keys.\n\n*From: Data.Map*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersectionWith", "Data.Map", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "intersectionWith" }, "sortText": "Z.intersectionWith", "additionalTextEdits": null, "filterText": null, "insertText": "intersectionWith", "kind": 12, "label": "intersectionWith" }, { "detail": "∀ k v. Map k v → Boolean", "documentation": { "kind": "markdown", "value": "Test if a map is empty\n\n*From: Data.Map*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isEmpty", "Data.Map", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "isEmpty" }, "sortText": "Z.isEmpty", "additionalTextEdits": null, "filterText": null, "insertText": "isEmpty", "kind": 12, "label": "isEmpty" }, { "detail": "∀ k v. Ord k ⇒ Eq v ⇒ Map k v → Map k v → Boolean", "documentation": { "kind": "markdown", "value": "Test whether one map contains all of the keys and values contained in another map\n\n*From: Data.Map*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isSubmap", "Data.Map", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "isSubmap" }, "sortText": "Z.isSubmap", "additionalTextEdits": null, "filterText": null, "insertText": "isSubmap", "kind": 12, "label": "isSubmap" }, { "detail": "∀ k v. Map k v → Boolean", "documentation": { "kind": "markdown", "value": "Test if a map is empty\n\n*From: Data.Map.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isEmpty", "Data.Map.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "isEmpty" }, "sortText": "Z.isEmpty", "additionalTextEdits": null, "filterText": null, "insertText": "isEmpty", "kind": 12, "label": "isEmpty" }, { "detail": "∀ k v. Ord k ⇒ k → v → Map k v → Map k v", "documentation": { "kind": "markdown", "value": "Insert or replace a key/value pair in a map\n\n*From: Data.Map.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insert", "Data.Map.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "insert" }, "sortText": "Z.insert", "additionalTextEdits": null, "filterText": null, "insertText": "insert", "kind": 12, "label": "insert" }, { "detail": "∀ k v. Ord k ⇒ (v → v → v) → k → v → Map k v → Map k v", "documentation": { "kind": "markdown", "value": "Inserts or updates a value with the given function.\n\nThe combining function is called with the existing value as the first\nargument and the new value as the second argument.\n\n*From: Data.Map.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insertWith", "Data.Map.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "insertWith" }, "sortText": "Z.insertWith", "additionalTextEdits": null, "filterText": null, "insertText": "insertWith", "kind": 12, "label": "insertWith" }, { "detail": "∀ k a b. Ord k ⇒ Map k a → Map k b → Map k a", "documentation": { "kind": "markdown", "value": "Compute the intersection of two maps, preferring values from the first map in the case\nof duplicate keys.\n\n*From: Data.Map.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersection", "Data.Map.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "intersection" }, "sortText": "Z.intersection", "additionalTextEdits": null, "filterText": null, "insertText": "intersection", "kind": 12, "label": "intersection" }, { "detail": "∀ k a b c. Ord k ⇒ (a → b → c) → Map k a → Map k b → Map k c", "documentation": { "kind": "markdown", "value": "Compute the intersection of two maps, using the specified function\nto combine values for duplicate keys.\n\n*From: Data.Map.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersectionWith", "Data.Map.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "intersectionWith" }, "sortText": "Z.intersectionWith", "additionalTextEdits": null, "filterText": null, "insertText": "intersectionWith", "kind": 12, "label": "intersectionWith" }, { "detail": "∀ k v. Ord k ⇒ Eq v ⇒ Map k v → Map k v → Boolean", "documentation": { "kind": "markdown", "value": "Test whether one map contains all of the keys and values contained in another map\n\n*From: Data.Map.Internal*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isSubmap", "Data.Map.Internal", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "isSubmap" }, "sortText": "Z.isSubmap", "additionalTextEdits": null, "filterText": null, "insertText": "isSubmap", "kind": 12, "label": "isSubmap" }, { "detail": "∀ a. Maybe a → Boolean", "documentation": { "kind": "markdown", "value": "Returns `true` when the `Maybe` value was constructed with `Just`.\n\n*From: Data.Maybe*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isJust", "Data.Maybe", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "isJust" }, "sortText": "Z.isJust", "additionalTextEdits": null, "filterText": null, "insertText": "isJust", "kind": 12, "label": "isJust" }, { "detail": "∀ a. Maybe a → Boolean", "documentation": { "kind": "markdown", "value": "Returns `true` when the `Maybe` value is `Nothing`.\n\n*From: Data.Maybe*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isNothing", "Data.Maybe", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "isNothing" }, "sortText": "Z.isNothing", "additionalTextEdits": null, "filterText": null, "insertText": "isNothing", "kind": 12, "label": "isNothing" }, { "detail": "Ordering → Ordering", "documentation": { "kind": "markdown", "value": "Reverses an `Ordering` value, flipping greater than for less than while\npreserving equality.\n\n*From: Data.Ordering*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "invert", "Data.Ordering", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "invert" }, "sortText": "Z.invert", "additionalTextEdits": null, "filterText": null, "insertText": "invert", "kind": 12, "label": "invert" }, { "detail": "∀ f m. Foldable1 f ⇒ Semigroup m ⇒ m → f m → m", "documentation": { "kind": "markdown", "value": "Fold a data structure using a `Semigroup` instance,\ncombining adjacent elements using the specified separator.\n\n*From: Data.Semigroup.Foldable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intercalate", "Data.Semigroup.Foldable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "intercalate" }, "sortText": "Z.intercalate", "additionalTextEdits": null, "filterText": null, "insertText": "intercalate", "kind": 12, "label": "intercalate" }, { "detail": "∀ f m a. Foldable1 f ⇒ Semigroup m ⇒ m → (a → m) → f a → m", "documentation": { "kind": "markdown", "value": "Fold a data structure, accumulating values in some `Semigroup`,\ncombining adjacent elements using the specified separator.\n\n*From: Data.Semigroup.Foldable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intercalateMap", "Data.Semigroup.Foldable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "intercalateMap" }, "sortText": "Z.intercalateMap", "additionalTextEdits": null, "filterText": null, "insertText": "intercalateMap", "kind": 12, "label": "intercalateMap" }, { "detail": "∀ a. Set a → Boolean", "documentation": { "kind": "markdown", "value": "Test if a set is empty\n\n*From: Data.Set*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isEmpty", "Data.Set", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "isEmpty" }, "sortText": "Z.isEmpty", "additionalTextEdits": null, "filterText": null, "insertText": "isEmpty", "kind": 12, "label": "isEmpty" }, { "detail": "∀ a. Ord a ⇒ a → Set a → Set a", "documentation": { "kind": "markdown", "value": "Insert a value into a set\n\n*From: Data.Set*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insert", "Data.Set", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "insert" }, "sortText": "Z.insert", "additionalTextEdits": null, "filterText": null, "insertText": "insert", "kind": 12, "label": "insert" }, { "detail": "∀ a. Ord a ⇒ Set a → Set a → Set a", "documentation": { "kind": "markdown", "value": "The set of elements which are in both the first and second set\n\n*From: Data.Set*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersection", "Data.Set", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "intersection" }, "sortText": "Z.intersection", "additionalTextEdits": null, "filterText": null, "insertText": "intersection", "kind": 12, "label": "intersection" }, { "detail": "∀ a. Ord a ⇒ a → NonEmptySet a → NonEmptySet a", "documentation": { "kind": "markdown", "value": "Insert a value into a set.\n\n*From: Data.Set.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insert", "Data.Set.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "insert" }, "sortText": "Z.insert", "additionalTextEdits": null, "filterText": null, "insertText": "insert", "kind": 12, "label": "insert" }, { "detail": "∀ a. Ord a ⇒ NonEmptySet a → NonEmptySet a → Maybe (NonEmptySet a)", "documentation": { "kind": "markdown", "value": "The set of elements which are in both the first and second set. `Nothing`\nif the sets are disjoint.\n\n*From: Data.Set.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intersection", "Data.Set.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "intersection" }, "sortText": "Z.intersection", "additionalTextEdits": null, "filterText": null, "insertText": "intersection", "kind": 12, "label": "intersection" }, { "detail": "Pattern → String → Maybe Int", "documentation": { "kind": "markdown", "value": "Returns the number of code points preceding the first match of the given\npattern in the string. Returns Nothing when no matches are found.\n\n```purescript\n>>> indexOf (Pattern \"𝐀\") \"b 𝐀𝐀 c 𝐀\"\nJust 2\n>>> indexOf (Pattern \"o\") \"b 𝐀𝐀 c 𝐀\"\nNothing\n```\n\n\n*From: Data.String*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "indexOf", "Data.String", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "indexOf" }, "sortText": "Z.indexOf", "additionalTextEdits": null, "filterText": null, "insertText": "indexOf", "kind": 12, "label": "indexOf" }, { "detail": "Pattern → Int → String → Maybe Int", "documentation": { "kind": "markdown", "value": "Returns the number of code points preceding the first match of the given\npattern in the string. Pattern matches preceding the given index will be\nignored. Returns Nothing when no matches are found.\n\n```purescript\n>>> indexOf' (Pattern \"𝐀\") 4 \"b 𝐀𝐀 c 𝐀\"\nJust 7\n>>> indexOf' (Pattern \"o\") 4 \"b 𝐀𝐀 c 𝐀\"\nNothing\n```\n\n\n*From: Data.String*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "indexOf'", "Data.String", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "indexOf'" }, "sortText": "Z.indexOf'", "additionalTextEdits": null, "filterText": null, "insertText": "indexOf'", "kind": 12, "label": "indexOf'" }, { "detail": "Pattern → String → Maybe Int", "documentation": { "kind": "markdown", "value": "Returns the number of code points preceding the first match of the given\npattern in the string. Returns Nothing when no matches are found.\n\n```purescript\n>>> indexOf (Pattern \"𝐀\") \"b 𝐀𝐀 c 𝐀\"\nJust 2\n>>> indexOf (Pattern \"o\") \"b 𝐀𝐀 c 𝐀\"\nNothing\n```\n\n\n*From: Data.String.CodePoints*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "indexOf", "Data.String.CodePoints", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "indexOf" }, "sortText": "Z.indexOf", "additionalTextEdits": null, "filterText": null, "insertText": "indexOf", "kind": 12, "label": "indexOf" }, { "detail": "Pattern → Int → String → Maybe Int", "documentation": { "kind": "markdown", "value": "Returns the number of code points preceding the first match of the given\npattern in the string. Pattern matches preceding the given index will be\nignored. Returns Nothing when no matches are found.\n\n```purescript\n>>> indexOf' (Pattern \"𝐀\") 4 \"b 𝐀𝐀 c 𝐀\"\nJust 7\n>>> indexOf' (Pattern \"o\") 4 \"b 𝐀𝐀 c 𝐀\"\nNothing\n```\n\n\n*From: Data.String.CodePoints*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "indexOf'", "Data.String.CodePoints", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "indexOf'" }, "sortText": "Z.indexOf'", "additionalTextEdits": null, "filterText": null, "insertText": "indexOf'", "kind": 12, "label": "indexOf'" }, { "detail": "Pattern → String → Maybe Int", "documentation": { "kind": "markdown", "value": "Returns the index of the first occurrence of the pattern in the\ngiven string. Returns `Nothing` if there is no match.\n\n```purescript\nindexOf (Pattern \"c\") \"abcdc\" == Just 2\nindexOf (Pattern \"c\") \"aaa\" == Nothing\n```\n\n\n*From: Data.String.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "indexOf", "Data.String.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "indexOf" }, "sortText": "Z.indexOf", "additionalTextEdits": null, "filterText": null, "insertText": "indexOf", "kind": 12, "label": "indexOf" }, { "detail": "Pattern → Int → String → Maybe Int", "documentation": { "kind": "markdown", "value": "Returns the index of the first occurrence of the pattern in the\ngiven string, starting at the specified index. Returns `Nothing` if there is\nno match.\n\n```purescript\nindexOf' (Pattern \"a\") 2 \"ababa\" == Just 2\nindexOf' (Pattern \"a\") 3 \"ababa\" == Just 4\n```\n\n\n*From: Data.String.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "indexOf'", "Data.String.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "indexOf'" }, "sortText": "Z.indexOf'", "additionalTextEdits": null, "filterText": null, "insertText": "indexOf'", "kind": 12, "label": "indexOf'" }, { "detail": "Pattern → NonEmptyString → Maybe Int", "documentation": { "kind": "markdown", "value": "\n*From: Data.String.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "indexOf", "Data.String.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "indexOf" }, "sortText": "Z.indexOf", "additionalTextEdits": null, "filterText": null, "insertText": "indexOf", "kind": 12, "label": "indexOf" }, { "detail": "Pattern → Int → NonEmptyString → Maybe Int", "documentation": { "kind": "markdown", "value": "\n*From: Data.String.NonEmpty*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "indexOf'", "Data.String.NonEmpty", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "indexOf'" }, "sortText": "Z.indexOf'", "additionalTextEdits": null, "filterText": null, "insertText": "indexOf'", "kind": 12, "label": "indexOf'" }, { "detail": "Pattern → NonEmptyString → Maybe Int", "documentation": { "kind": "markdown", "value": "\n*From: Data.String.NonEmpty.CodePoints*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "indexOf", "Data.String.NonEmpty.CodePoints", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "indexOf" }, "sortText": "Z.indexOf", "additionalTextEdits": null, "filterText": null, "insertText": "indexOf", "kind": 12, "label": "indexOf" }, { "detail": "Pattern → Int → NonEmptyString → Maybe Int", "documentation": { "kind": "markdown", "value": "\n*From: Data.String.NonEmpty.CodePoints*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "indexOf'", "Data.String.NonEmpty.CodePoints", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "indexOf'" }, "sortText": "Z.indexOf'", "additionalTextEdits": null, "filterText": null, "insertText": "indexOf'", "kind": 12, "label": "indexOf'" }, { "detail": "Pattern → NonEmptyString → Maybe Int", "documentation": { "kind": "markdown", "value": "Returns the index of the first occurrence of the pattern in the\ngiven string. Returns `Nothing` if there is no match.\n\n```purescript\nindexOf (Pattern \"c\") (NonEmptyString \"abcdc\") == Just 2\nindexOf (Pattern \"c\") (NonEmptyString \"aaa\") == Nothing\n```\n\n*From: Data.String.NonEmpty.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "indexOf", "Data.String.NonEmpty.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "indexOf" }, "sortText": "Z.indexOf", "additionalTextEdits": null, "filterText": null, "insertText": "indexOf", "kind": 12, "label": "indexOf" }, { "detail": "Pattern → Int → NonEmptyString → Maybe Int", "documentation": { "kind": "markdown", "value": "Returns the index of the first occurrence of the pattern in the\ngiven string, starting at the specified index. Returns `Nothing` if there is\nno match.\n\n```purescript\nindexOf' (Pattern \"a\") 2 (NonEmptyString \"ababa\") == Just 2\nindexOf' (Pattern \"a\") 3 (NonEmptyString \"ababa\") == Just 4\n```\n\n*From: Data.String.NonEmpty.CodeUnits*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "indexOf'", "Data.String.NonEmpty.CodeUnits", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "indexOf'" }, "sortText": "Z.indexOf'", "additionalTextEdits": null, "filterText": null, "insertText": "indexOf'", "kind": 12, "label": "indexOf'" }, { "detail": "RegexFlags", "documentation": { "kind": "markdown", "value": "Only ignoreCase flag set to true\n\n*From: Data.String.Regex.Flags*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "ignoreCase", "Data.String.Regex.Flags", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "ignoreCase" }, "sortText": "Z.ignoreCase", "additionalTextEdits": null, "filterText": null, "insertText": "ignoreCase", "kind": 12, "label": "ignoreCase" }, { "detail": "∀ f m. Foldable f ⇒ Monoid m ⇒ m → f m → m", "documentation": { "kind": "markdown", "value": "Fold a data structure, accumulating values in some `Monoid`,\ncombining adjacent elements using the specified separator.\n\nFor example:\n\n```purescript\n> intercalate \", \" [\"Lorem\", \"ipsum\", \"dolor\"]\n= \"Lorem, ipsum, dolor\"\n\n> intercalate \"*\" [\"a\", \"b\", \"c\"]\n= \"a*b*c\"\n\n> intercalate [1] [[2, 3], [4, 5], [6, 7]]\n= [2, 3, 1, 4, 5, 1, 6, 7]\n```\n\n*From: Data.Traversable*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "intercalate", "Data.Traversable", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "intercalate" }, "sortText": "Z.intercalate", "additionalTextEdits": null, "filterText": null, "insertText": "intercalate", "kind": 12, "label": "intercalate" }, { "detail": "∀ a. AVarStatus a → Boolean", "documentation": { "kind": "markdown", "value": "\n*From: Effect.AVar*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isEmpty", "Effect.AVar", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "isEmpty" }, "sortText": "Z.isEmpty", "additionalTextEdits": null, "filterText": null, "insertText": "isEmpty", "kind": 12, "label": "isEmpty" }, { "detail": "∀ a. AVarStatus a → Boolean", "documentation": { "kind": "markdown", "value": "\n*From: Effect.AVar*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isFilled", "Effect.AVar", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "isFilled" }, "sortText": "Z.isFilled", "additionalTextEdits": null, "filterText": null, "insertText": "isFilled", "kind": 12, "label": "isFilled" }, { "detail": "∀ a. AVarStatus a → Boolean", "documentation": { "kind": "markdown", "value": "\n*From: Effect.AVar*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isKilled", "Effect.AVar", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "isKilled" }, "sortText": "Z.isKilled", "additionalTextEdits": null, "filterText": null, "insertText": "isKilled", "kind": 12, "label": "isKilled" }, { "detail": "∀ a. Aff a → Aff a", "documentation": { "kind": "markdown", "value": "Runs an effect such that it cannot be killed.\n\n*From: Effect.Aff*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "invincible", "Effect.Aff", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "invincible" }, "sortText": "Z.invincible", "additionalTextEdits": null, "filterText": null, "insertText": "invincible", "kind": 12, "label": "invincible" }, { "detail": "∀ a. AVarStatus a → Boolean", "documentation": { "kind": "markdown", "value": "\n*From: Effect.Aff.AVar*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isEmpty", "Effect.Aff.AVar", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "isEmpty" }, "sortText": "Z.isEmpty", "additionalTextEdits": null, "filterText": null, "insertText": "isEmpty", "kind": 12, "label": "isEmpty" }, { "detail": "∀ a. AVarStatus a → Boolean", "documentation": { "kind": "markdown", "value": "\n*From: Effect.Aff.AVar*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isFilled", "Effect.Aff.AVar", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "isFilled" }, "sortText": "Z.isFilled", "additionalTextEdits": null, "filterText": null, "insertText": "isFilled", "kind": 12, "label": "isFilled" }, { "detail": "∀ a. AVarStatus a → Boolean", "documentation": { "kind": "markdown", "value": "\n*From: Effect.Aff.AVar*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isKilled", "Effect.Aff.AVar", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "isKilled" }, "sortText": "Z.isKilled", "additionalTextEdits": null, "filterText": null, "insertText": "isKilled", "kind": 12, "label": "isKilled" }, { "detail": "∀ m. MonadEffect m ⇒ String → m Unit", "documentation": { "kind": "markdown", "value": "\n*From: Effect.Class.Console*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "info", "Effect.Class.Console", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "info" }, "sortText": "Z.info", "additionalTextEdits": null, "filterText": null, "insertText": "info", "kind": 12, "label": "info" }, { "detail": "∀ m a. MonadEffect m ⇒ Show a ⇒ a → m Unit", "documentation": { "kind": "markdown", "value": "\n*From: Effect.Class.Console*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "infoShow", "Effect.Class.Console", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "infoShow" }, "sortText": "Z.infoShow", "additionalTextEdits": null, "filterText": null, "insertText": "infoShow", "kind": 12, "label": "infoShow" }, { "detail": "String → Effect Unit", "documentation": { "kind": "markdown", "value": "Write an info message to the console.\n\n*From: Effect.Console*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "info", "Effect.Console", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "info" }, "sortText": "Z.info", "additionalTextEdits": null, "filterText": null, "insertText": "info", "kind": 12, "label": "info" }, { "detail": "∀ a. Show a ⇒ a → Effect Unit", "documentation": { "kind": "markdown", "value": "Write an info value to the console, using its `Show` instance to produce a\n`String`.\n\n*From: Effect.Console*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "infoShow", "Effect.Console", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "infoShow" }, "sortText": "Z.infoShow", "additionalTextEdits": null, "filterText": null, "insertText": "infoShow", "kind": 12, "label": "infoShow" }, { "detail": "Foreign → Boolean", "documentation": { "kind": "markdown", "value": "Test whether a foreign value is null\n\n*From: Foreign*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isNull", "Foreign", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "isNull" }, "sortText": "Z.isNull", "additionalTextEdits": null, "filterText": null, "insertText": "isNull", "kind": 12, "label": "isNull" }, { "detail": "Foreign → Boolean", "documentation": { "kind": "markdown", "value": "Test whether a foreign value is undefined\n\n*From: Foreign*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isUndefined", "Foreign", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "isUndefined" }, "sortText": "Z.isUndefined", "additionalTextEdits": null, "filterText": null, "insertText": "isUndefined", "kind": 12, "label": "isUndefined" }, { "detail": "Foreign → Boolean", "documentation": { "kind": "markdown", "value": "Test whether a foreign value is an array\n\n*From: Foreign*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isArray", "Foreign", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "isArray" }, "sortText": "Z.isArray", "additionalTextEdits": null, "filterText": null, "insertText": "isArray", "kind": 12, "label": "isArray" }, { "detail": "∀ i a. Indexable a ⇒ Index i ⇒ a → i → ExceptT (NonEmptyList ForeignError) Identity Foreign", "documentation": { "kind": "markdown", "value": "\n*From: Foreign.Index*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "ix", "Foreign.Index", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "ix" }, "sortText": "Z.ix", "additionalTextEdits": null, "filterText": null, "insertText": "ix", "kind": 12, "label": "ix" }, { "detail": "∀ i. Index i ⇒ Foreign → i → ExceptT (NonEmptyList ForeignError) Identity Foreign", "documentation": { "kind": "markdown", "value": "\n*From: Foreign.Index*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "index", "Foreign.Index", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "index" }, "sortText": "Z.index", "additionalTextEdits": null, "filterText": null, "insertText": "index", "kind": 12, "label": "index" }, { "detail": "Number → Boolean", "documentation": { "kind": "markdown", "value": "Test whether a number is NaN\n\n*From: Global*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isNaN", "Global", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "isNaN" }, "sortText": "Z.isNaN", "additionalTextEdits": null, "filterText": null, "insertText": "isNaN", "kind": 12, "label": "isNaN" }, { "detail": "Number", "documentation": { "kind": "markdown", "value": "Positive infinity\n\n*From: Global*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "infinity", "Global", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "infinity" }, "sortText": "Z.infinity", "additionalTextEdits": null, "filterText": null, "insertText": "infinity", "kind": 12, "label": "infinity" }, { "detail": "Number → Boolean", "documentation": { "kind": "markdown", "value": "Test whether a number is finite\n\n*From: Global*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isFinite", "Global", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "isFinite" }, "sortText": "Z.isFinite", "additionalTextEdits": null, "filterText": null, "insertText": "isFinite", "kind": 12, "label": "isFinite" }, { "detail": "Stats → Boolean", "documentation": { "kind": "markdown", "value": "\n*From: Node.FS.Stats*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isFile", "Node.FS.Stats", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "isFile" }, "sortText": "Z.isFile", "additionalTextEdits": null, "filterText": null, "insertText": "isFile", "kind": 12, "label": "isFile" }, { "detail": "Stats → Boolean", "documentation": { "kind": "markdown", "value": "\n*From: Node.FS.Stats*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isDirectory", "Node.FS.Stats", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "isDirectory" }, "sortText": "Z.isDirectory", "additionalTextEdits": null, "filterText": null, "insertText": "isDirectory", "kind": 12, "label": "isDirectory" }, { "detail": "Stats → Boolean", "documentation": { "kind": "markdown", "value": "\n*From: Node.FS.Stats*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isBlockDevice", "Node.FS.Stats", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "isBlockDevice" }, "sortText": "Z.isBlockDevice", "additionalTextEdits": null, "filterText": null, "insertText": "isBlockDevice", "kind": 12, "label": "isBlockDevice" }, { "detail": "Stats → Boolean", "documentation": { "kind": "markdown", "value": "\n*From: Node.FS.Stats*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isCharacterDevice", "Node.FS.Stats", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "isCharacterDevice" }, "sortText": "Z.isCharacterDevice", "additionalTextEdits": null, "filterText": null, "insertText": "isCharacterDevice", "kind": 12, "label": "isCharacterDevice" }, { "detail": "Stats → Boolean", "documentation": { "kind": "markdown", "value": "\n*From: Node.FS.Stats*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isFIFO", "Node.FS.Stats", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "isFIFO" }, "sortText": "Z.isFIFO", "additionalTextEdits": null, "filterText": null, "insertText": "isFIFO", "kind": 12, "label": "isFIFO" }, { "detail": "Stats → Boolean", "documentation": { "kind": "markdown", "value": "\n*From: Node.FS.Stats*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isSocket", "Node.FS.Stats", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "isSocket" }, "sortText": "Z.isSocket", "additionalTextEdits": null, "filterText": null, "insertText": "isSocket", "kind": 12, "label": "isSocket" }, { "detail": "Stats → Boolean", "documentation": { "kind": "markdown", "value": "\n*From: Node.FS.Stats*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isSymbolicLink", "Node.FS.Stats", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "isSymbolicLink" }, "sortText": "Z.isSymbolicLink", "additionalTextEdits": null, "filterText": null, "insertText": "isSymbolicLink", "kind": 12, "label": "isSymbolicLink" }, { "detail": "String → Boolean", "documentation": { "kind": "markdown", "value": "Determines whether path is an absolute path\n\n*From: Node.Path*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isAbsolute", "Node.Path", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "isAbsolute" }, "sortText": "Z.isAbsolute", "additionalTextEdits": null, "filterText": null, "insertText": "isAbsolute", "kind": 12, "label": "isAbsolute" }, { "detail": "∀ w. Readable w → Effect Boolean", "documentation": { "kind": "markdown", "value": "Check whether or not a stream is paused for reading.\n\n*From: Node.Stream*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isPaused", "Node.Stream", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "isPaused" }, "sortText": "Z.isPaused", "additionalTextEdits": null, "filterText": null, "insertText": "isPaused", "kind": 12, "label": "isPaused" }, { "detail": "∀ a m. Monad m ⇒ Int → Producer a m Unit → m (Maybe a)", "documentation": { "kind": "markdown", "value": "Index into a `Producer`\n\n*From: Pipes.Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "index", "Pipes.Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "index" }, "sortText": "Z.index", "additionalTextEdits": null, "filterText": null, "insertText": "index", "kind": 12, "label": "index" }, { "detail": "∀ t a. Category a ⇒ a t t", "documentation": { "kind": "markdown", "value": "\n*From: Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "identity", "Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "identity" }, "sortText": "Z.identity", "additionalTextEdits": null, "filterText": null, "insertText": "identity", "kind": 12, "label": "identity" }, { "detail": "∀ a m. Bind m ⇒ m Boolean → m a → m a → m a", "documentation": { "kind": "markdown", "value": "Execute a monadic action if a condition holds.\n\nFor example:\n\n```purescript\nmain = ifM ((< 0.5) <$> random)\n (trace \"Heads\")\n (trace \"Tails\")\n```\n\n*From: Prelude*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "ifM", "Prelude", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "ifM" }, "sortText": "Z.ifM", "additionalTextEdits": null, "filterText": null, "insertText": "ifM", "kind": 12, "label": "ifM" }, { "detail": "∀ r1 r2 l a. IsSymbol l ⇒ Lacks l r1 ⇒ Cons l a r1 r2 ⇒ SProxy l → a → Record r1 → Record r2", "documentation": { "kind": "markdown", "value": "Insert a new property for a label which is specified using a value-level proxy for\na type-level string.\n\nFor example:\n\n```purescript\ninsert (SProxy :: SProxy \"x\")\n :: forall r a. Lacks \"x\" r => a -> { | r } -> { x :: a | r }\n```\n\n*From: Record*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insert", "Record", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "insert" }, "sortText": "Z.insert", "additionalTextEdits": null, "filterText": null, "insertText": "insert", "kind": 12, "label": "insert" }, { "detail": "∀ l a r1 r2. Cons l a r1 r2 ⇒ Lacks l r1 ⇒ IsSymbol l ⇒ SProxy l → a → Builder (Record r1) (Record r2)", "documentation": { "kind": "markdown", "value": "Build by inserting a new field.\n\n*From: Record.Builder*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "insert", "Record.Builder", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "insert" }, "sortText": "Z.insert", "additionalTextEdits": null, "filterText": null, "insertText": "insert", "kind": 12, "label": "insert" }, { "detail": "∀ m t arg g. FocusWarning ⇒ Monad m ⇒ Example t arg g ⇒ String → t → SpecT g arg m Unit", "documentation": { "kind": "markdown", "value": "Create a spec with a description and mark it as the only one to\nbe run. (useful for quickly narrowing down on a single test)\n\n*From: Test.Spec*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "itOnly", "Test.Spec", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "itOnly" }, "sortText": "Z.itOnly", "additionalTextEdits": null, "filterText": null, "insertText": "itOnly", "kind": 12, "label": "itOnly" }, { "detail": "∀ m t arg g. Monad m ⇒ Example t arg g ⇒ String → t → SpecT g arg m Unit", "documentation": { "kind": "markdown", "value": "Create a spec with a description.\n\n*From: Test.Spec*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "it", "Test.Spec", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "it" }, "sortText": "Z.it", "additionalTextEdits": null, "filterText": null, "insertText": "it", "kind": 12, "label": "it" }, { "detail": "Int → String", "documentation": { "kind": "markdown", "value": "\n*From: Test.Spec.Style*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "indent", "Test.Spec.Style", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "indent" }, "sortText": "Z.indent", "additionalTextEdits": null, "filterText": null, "insertText": "indent", "kind": 12, "label": "indent" }, { "detail": "∀ c m a. Tree c (Item m a) → Boolean", "documentation": { "kind": "markdown", "value": "Return true if all items in the tree are parallelizable\n\n*From: Test.Spec.Tree*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "isAllParallelizable", "Test.Spec.Tree", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "isAllParallelizable" }, "sortText": "Z.isAllParallelizable", "additionalTextEdits": null, "filterText": null, "insertText": "isAllParallelizable", "kind": 12, "label": "isAllParallelizable" }, { "detail": "∀ a. Semiring a ⇒ a → a", "documentation": { "kind": "markdown", "value": "Adds one to input\n\n*From: Utils.Math*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "inc", "Utils.Math", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 5, "line": 9 }, "end": { "line": 9, "character": 6 } }, "newText": "inc" }, "sortText": "Z.inc", "additionalTextEdits": null, "filterText": null, "insertText": "inc", "kind": 12, "label": "inc" } ], "isIncomplete": false } [Trace - 4:17:28 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 96 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec, describe)\n\nspec :: Spec Unit\nspec = describe \"Problems\" do\n describe \"Problem 1\" do\n it \"returns correct result\" $ add 1 2 `shouldEqual` 3\n" } ] } [Trace - 4:17:29 PM] Sending notification 'textDocument/didSave'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 96 } } [Trace - 4:17:30 PM] Received notification 'window/logMessage'. Params: { "type": 4, "message": "Built with 1 issues for file: \"/Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs\", all diagnostic files: [\"/Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs\"]" } Built with 1 issues for file: "/Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", all diagnostic files: ["/Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs"] [Trace - 4:17:30 PM] Received notification 'textDocument/publishDiagnostics'. Params: { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "diagnostics": [ { "range": { "start": { "line": 9, "character": 5 }, "end": { "line": 9, "character": 7 } }, "severity": 1, "code": "UnknownName", "source": "PureScript", "message": " Unknown value it\n" } ] } [Trace - 4:17:34 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 97 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec, describe, i)\n\nspec :: Spec Unit\nspec = describe \"Problems\" do\n describe \"Problem 1\" do\n it \"returns correct result\" $ add 1 2 `shouldEqual` 3\n" } ] } [Trace - 4:17:34 PM] Sending request 'textDocument/completion - (52)'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" }, "position": { "line": 4, "character": 35 }, "context": { "triggerKind": 1 } } [Trace - 4:17:34 PM] Received notification 'window/logMessage'. Params: { "type": 3, "message": "[Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead\n" } [Info - 4:17:34 PM] [Warn] Listing the loaded modules command is DEPRECATED, use the completion command and filter it to modules instead [Trace - 4:17:34 PM] Received response 'textDocument/completion - (52)' in 8ms. Result: { "items": [ { "detail": "∀ m t arg g. FocusWarning ⇒ Monad m ⇒ Example t arg g ⇒ String → t → SpecT g arg m Unit", "documentation": { "kind": "markdown", "value": "Create a spec with a description and mark it as the only one to\nbe run. (useful for quickly narrowing down on a single test)\n\n*From: Test.Spec*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "itOnly", "Test.Spec", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 34, "line": 4 }, "end": { "line": 4, "character": 35 } }, "newText": "itOnly" }, "sortText": "Z.itOnly", "additionalTextEdits": null, "filterText": null, "insertText": "itOnly", "kind": 12, "label": "itOnly" }, { "detail": "∀ m t arg g. Monad m ⇒ Example t arg g ⇒ String → t → SpecT g arg m Unit", "documentation": { "kind": "markdown", "value": "Create a spec with a description.\n\n*From: Test.Spec*" }, "command": { "title": "Add completion import", "command": "purescript.addCompletionImport", "arguments": [ "it", "Test.Spec", null, "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" ] }, "textEdit": { "range": { "start": { "character": 34, "line": 4 }, "end": { "line": 4, "character": 35 } }, "newText": "it" }, "sortText": "Z.it", "additionalTextEdits": null, "filterText": null, "insertText": "it", "kind": 12, "label": "it" } ], "isIncomplete": false } [Trace - 4:17:34 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 98 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec, describe, it)\n\nspec :: Spec Unit\nspec = describe \"Problems\" do\n describe \"Problem 1\" do\n it \"returns correct result\" $ add 1 2 `shouldEqual` 3\n" } ] } [Trace - 4:17:35 PM] Sending notification 'textDocument/didSave'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 98 } } [Trace - 4:17:35 PM] Received notification 'window/logMessage'. Params: { "type": 4, "message": "Built with 1 issues for file: \"/Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs\", all diagnostic files: [\"/Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs\"]" } Built with 1 issues for file: "/Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", all diagnostic files: ["/Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs"] [Trace - 4:17:35 PM] Received notification 'textDocument/publishDiagnostics'. Params: { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "diagnostics": [ { "range": { "start": { "line": 9, "character": 44 }, "end": { "line": 9, "character": 55 } }, "severity": 1, "code": "UnknownName", "source": "PureScript", "message": " Unknown value shouldEqual\n" } ] } [Trace - 4:17:38 PM] Sending request 'textDocument/codeAction - (53)'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs" }, "range": { "start": { "line": 9, "character": 0 }, "end": { "line": 10, "character": 0 } }, "context": { "diagnostics": [ { "range": { "start": { "line": 9, "character": 44 }, "end": { "line": 9, "character": 55 } }, "severity": 1, "code": "UnknownName", "source": "PureScript", "message": " Unknown value shouldEqual\n" } ], "only": [ "quickfix" ] } } [Trace - 4:17:38 PM] Received response 'textDocument/codeAction - (53)' in 4ms. Result: [ { "title": "Fix typo/add import", "command": "purescript.fixTypo", "arguments": [ "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", 9, 44 ] } ] [Trace - 4:17:38 PM] Sending request 'workspace/executeCommand - (54)'. Params: { "command": "purescript.fixTypo", "arguments": [ "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", 9, 44 ] } [Trace - 4:17:38 PM] Received request 'workspace/applyEdit - (2)'. Params: { "edit": { "documentChanges": [ { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 98 }, "edits": [ { "range": { "start": { "line": 9, "character": 55 }, "end": { "line": 9, "character": 44 } }, "newText": "shouldEqual" } ] } ], "changes": { "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs": [ { "range": { "start": { "line": 9, "character": 55 }, "end": { "line": 9, "character": 44 } }, "newText": "shouldEqual" } ] } } } [Trace - 4:17:38 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 99 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec, describe, it)\n\nspec :: Spec Unit\nspec = describe \"Problems\" do\n describe \"Problem 1\" do\n it \"returns correct result\" $ add 1 2 `shouldEqualshouldEqualshouldEqual` 3\n" } ] } [Trace - 4:17:38 PM] Sending response 'workspace/applyEdit - (2)'. Processing request took 53ms Result: { "applied": true } [Trace - 4:17:38 PM] Received request 'workspace/applyEdit - (3)'. Params: { "edit": { "documentChanges": [ { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 99 }, "edits": [ { "range": { "start": { "line": 5, "character": 0 }, "end": { "line": 5, "character": 0 } }, "newText": "import Test.Spec.Assertions (shouldEqual)\n" } ] } ], "changes": { "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs": [ { "range": { "start": { "line": 5, "character": 0 }, "end": { "line": 5, "character": 0 } }, "newText": "import Test.Spec.Assertions (shouldEqual)\n" } ] } } } [Trace - 4:17:38 PM] Sending notification 'textDocument/didChange'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 100 }, "contentChanges": [ { "text": "module Some where\n\nimport Prelude\n\nimport Test.Spec (Spec, describe, it)\nimport Test.Spec.Assertions (shouldEqual)\n\nspec :: Spec Unit\nspec = describe \"Problems\" do\n describe \"Problem 1\" do\n it \"returns correct result\" $ add 1 2 `shouldEqualshouldEqualshouldEqual` 3\n" } ] } [Trace - 4:17:38 PM] Sending response 'workspace/applyEdit - (3)'. Processing request took 53ms Result: { "applied": true } [Trace - 4:17:38 PM] Received response 'workspace/executeCommand - (54)' in 124ms. Result: [] [Trace - 4:17:41 PM] Sending notification 'textDocument/didSave'. Params: { "textDocument": { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "version": 100 } } [Trace - 4:17:42 PM] Received notification 'window/logMessage'. Params: { "type": 4, "message": "Built with 1 issues for file: \"/Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs\", all diagnostic files: [\"/Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs\"]" } Built with 1 issues for file: "/Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", all diagnostic files: ["/Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs"] [Trace - 4:17:42 PM] Received notification 'textDocument/publishDiagnostics'. Params: { "uri": "file:///Users/mhmdanas/Desktop/projecteuler-solutions/Some.purs", "diagnostics": [ { "range": { "start": { "line": 10, "character": 44 }, "end": { "line": 10, "character": 77 } }, "severity": 1, "code": "UnknownName", "source": "PureScript", "message": " Unknown value shouldEqualshouldEqualshouldEqual\n" } ] }