{"id":13744100,"url":"https://github.com/jadbox/AS3FP","last_synced_at":"2025-05-09T02:32:34.805Z","repository":{"id":2606234,"uuid":"3589511","full_name":"jadbox/AS3FP","owner":"jadbox","description":"This library is a collection of functional idioms for ActionScript 3 based on Haskell and Coffeescript.","archived":false,"fork":false,"pushed_at":"2012-03-02T17:23:14.000Z","size":128,"stargazers_count":12,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-11-14T17:16:16.672Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://www.jadbox.com","language":"ActionScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":"MarioVilas/google","license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/jadbox.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-03-01T06:27:14.000Z","updated_at":"2022-05-31T08:01:10.000Z","dependencies_parsed_at":"2022-08-20T14:50:48.165Z","dependency_job_id":null,"html_url":"https://github.com/jadbox/AS3FP","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jadbox%2FAS3FP","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jadbox%2FAS3FP/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jadbox%2FAS3FP/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/jadbox%2FAS3FP/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/jadbox","download_url":"https://codeload.github.com/jadbox/AS3FP/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":224802966,"owners_count":17372540,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-03T05:01:03.075Z","updated_at":"2024-11-15T15:31:48.889Z","avatar_url":"https://github.com/jadbox.png","language":"ActionScript","readme":"This library is a collection of functional idioms for ActionScript 3 based on Haskell and Coffeescript. Below are a couple example utilities from the library.\n\nString Lambdas:\n\n    private function lambdaTest():void {\n        var data:Array = [1,2,3,4,5];\n        var data1:Array = lambdaMap(data, \"+\", 3);\n        // The result is: 4,5,6,7,8\n        trace(data1); \n            \n        data1 = lambdaMap(data, \"*\", 3);\n        //lambdaMap *3: 3,6,9,12,15\n        trace(\"lambdaMap *3:\", data1);  \n    \n            \n        data1 = lambdaMap(data, \"==\", 3);\n        //lambdaMap ==3: false,false,true,false,false\n        trace(\"lambdaMap ==3:\", data1);  \n            \n        data1 = lambdaMap([[1,2,3],[1,2]], \"+\", [4,5]);\n        //lambdaMap [[1,2,3],[1,2]] +[4,5]: [[1,2,3,4,5], [1,2,4,5]]\n        trace(\"lambdaMap [[1,2,3],[1,2]] +[4,5]:\", \"[[\"+data1[0]+\"], [\"+ data1[1]+\"]\"); \n            \n        data1 = lambdaFilter(data, \"!=\", 3); \n        //lambdaFilter !=3: 1,2,4,5\n        trace(\"lambdaFilter !=3:\", data1);\n            \n        data1 = lambdaFilter(data, \"\u003e\", 3); \n        //lambdaFilter \u003e 3: 4,5\n        trace(\"lambdaFilter \u003e 3:\", data1);\n            \n        data1 = lambdaFilter(data, \"\u003c=\", 3); \n        //lambdaFilter \u003c= 3: 1,2,3\n        trace(\"lambdaFilter \u003c= 3:\", data1);\n    }\n\nXML Comprehensions:\n\n    private function xmlParsing():void {\n        var raw:String = \"\u003cxml\u003e\u003cgame\u003eStarcraft\u003c/game\u003e\u003cgame\u003eDiablo\u003c/game\u003e\u003cgame\u003eWarcraft\u003c/game\u003e\u003c/xml\u003e\";\n        var data:XML = new XML(raw);\n            \n        var result:Array = xmlMap(data.game, mapXMLData);\n        //xmlMap:  Game:Starcraft, Game:Diablo, Game:Warcraft\n        trace(\"xmlMap:\", result); \n\n        // create a TextField for each node and add them to the display\n        xmlMap(data.game, mapXMLSprites).forEach(listCall(addChild));\n    }\n\n    // Used to transform an XML element into a constructed String with a prefix     \n    private function mapXMLData(node:XML, index:int, xml:XMLList):String {\n        return \" Game:\" + node.toString();\n    }\n\n    // Used to transform an XML element into a TextField        \n    private function mapXMLSprites(node:XML, index:int, xml:XMLList):TextField {\n        var field:TextField = new TextField();\n        field.text = \" Game:\" + node.toString();\n        field.y += index * field.textHeight;\n        return field;\n    }\n\nFor more information and examples:\nhttp://www.jadbox.com/2012/02/announcing-as3fp/","funding_links":[],"categories":["Frameworks"],"sub_categories":["Functional Programming"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjadbox%2FAS3FP","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjadbox%2FAS3FP","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjadbox%2FAS3FP/lists"}