-
Notifications
You must be signed in to change notification settings - Fork 1.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add currying #32
Comments
This comment was originally written by paulp...@gmail.com More on scala's currying: |
This comment was originally written by esprehn...@gmail.com The Function interface is empty which is silly. It should have a method on it to return a partially applied function just like Function.bind() in JS. https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/Function/bind var addOne = function(a, b) { return a + b }.bind(1); // This should work in Dart |
Removed Type-Defect label. |
This comment was originally written by drfibonacci@google.com Added Triaged label. |
Added WontFix label. |
This comment was originally written by paulp...@gmail.com Sorry, why this is |
…_server, http_parser, logging, mockito, path, pool, shelf, source_map_stack_trace, sse, stream_channel, term_glyph, test, typed_data, watcher, web_socket_channel, webdev, webkit_inspection_protocol, yaml Revisions updated by `dart tools/rev_sdk_deps.dart`. cli_util (https://github.com/dart-lang/cli_util/compare/5a8e8ee..32bc077): 32bc077 2023-01-09 Sam Rawlins Migrate from no-implicit-casts to strict-casts (#73) clock (https://github.com/dart-lang/clock/compare/6b8b7bf..65e8a13): 65e8a13 2023-01-09 Sam Rawlins Migrate from no-implicit-casts to strict-casts (#42) csslib (https://github.com/dart-lang/csslib/compare/d776535..7054945): 7054945 2023-01-09 Sam Rawlins Migrate from no-implicit-casts to strict-casts (#157) dartdoc (https://github.com/dart-lang/dartdoc/compare/29a1bbf..c4ab682): c4ab6824 2023-01-10 Sam Rawlins Regenerate so latest analyzer is happy (#3293) fixnum (https://github.com/dart-lang/fixnum/compare/714381c..71f0d4d): 71f0d4d 2023-01-09 Sam Rawlins Migrate from no-implicit-casts to strict-casts (#103) glob (https://github.com/dart-lang/glob/compare/7adf833..4579281): 4579281 2023-01-09 Sam Rawlins Migrate from no-implicit-casts to strict-casts (#68) http_multi_server (https://github.com/dart-lang/http_multi_server/compare/beb40a7..cce5080): cce5080 2023-01-09 Sam Rawlins Migrate from no-implicit-casts to strict-casts (#48) http_parser (https://github.com/dart-lang/http_parser/compare/16a4f34..6f73e4a): 6f73e4a 2023-01-09 Sam Rawlins Migrate from no-implicit-casts to strict-casts (#66) logging (https://github.com/dart-lang/logging/compare/b525d5c..34ed68f): 34ed68f 2023-01-09 Kevin Moore Move to new analyzer language settings (#126) mockito (https://github.com/dart-lang/mockito/compare/942dd03..9cc958a): 9cc958a 2023-01-09 Sam Rawlins Migrate from no-implicit-casts to strict-casts path (https://github.com/dart-lang/path/compare/1299791..9768908): 9768908 2023-01-09 Sam Rawlins Migrate from no-implicit-casts to strict-casts (#133) pool (https://github.com/dart-lang/pool/compare/713e631..ad4e2a7): ad4e2a7 2023-01-09 Sam Rawlins Migrate from no-implicit-casts to strict-casts (#60) shelf (https://github.com/dart-lang/shelf/compare/32e342d..a44e95e): a44e95e 2023-01-10 Kevin Moore Fix doc comment references (#323) source_map_stack_trace (https://github.com/dart-lang/source_map_stack_trace/compare/e5f9564..adea3e5): adea3e5 2023-01-09 Sam Rawlins Migrate no-implicit-casts to strict-casts (#32) sse (https://github.com/dart-lang/sse/compare/3c37edb..be426a2): be426a2 2023-01-09 Sam Rawlins Migrate from no-implicit-casts to strict-casts (#74) stream_channel (https://github.com/dart-lang/stream_channel/compare/0a7800a..3b99268): 3b99268 2023-01-09 Sam Rawlins Migrate from no-implicit-casts to strict-casts (#84) term_glyph (https://github.com/dart-lang/term_glyph/compare/2bf4594..8cd9318): 8cd9318 2023-01-09 Sam Rawlins Migrate from no-implicit-casts to strict-casts (#31) test (https://github.com/dart-lang/test/compare/3415089..932a652): 932a652b 2023-01-09 Nate Bosch Add a Map operator[] extension (#1830) 1f2e963e 2023-01-09 Nate Bosch Add Future.doesNotComplete condition (#1827) typed_data (https://github.com/dart-lang/typed_data/compare/dbf81a7..9c209b9): 9c209b9 2023-01-09 Sam Rawlins Migrate no-implicit-casts to strict-casts (#58) watcher (https://github.com/dart-lang/watcher/compare/2e0db71..3b49c7e): 3b49c7e 2023-01-09 Sam Rawlins Migrate from no-implicit-casts to strict-casts (#134) web_socket_channel (https://github.com/dart-lang/web_socket_channel/compare/ebd0fe9..28d7b82): 28d7b82 2023-01-10 Kevin Moore Fix CI link in readme (#248) c6ce895 2023-01-09 Sam Rawlins Update analysis_options.yaml (#247) webdev (https://github.com/dart-lang/webdev/compare/49f97b8..094ee97): 094ee97 2023-01-10 Anna Gringauze Add back setExceptionPauseMode (#1871) 2e65ddf 2023-01-10 Anna Gringauze Prepare for dart 3.0 alpha breaking changes (#1880) 2e2587a 2023-01-10 Elliott Brooks (she/her) Add hotfix instructions to DWDS (#1876) fe39123 2023-01-10 Elliott Brooks (she/her) Re-enable `reload_tests` (#1877) e71c0e3 2023-01-09 Anna Gringauze Fix crash on processing devtools event (#1875) webkit_inspection_protocol (https://github.com/google/webkit_inspection_protocol.dart/compare/ddb624c..15244ff): 15244ff 2023-01-09 Kevin Moore Add cron to CI (#97) yaml (https://github.com/dart-lang/yaml/compare/02be51e..b2fce6c): b2fce6c 2023-01-10 Sam Rawlins Migrate from no-implicit-casts to strict-casts (#134) Change-Id: I4fb257fe7c697fab562f4d18e4ea50c5903b4cd8 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/278807 Auto-Submit: Devon Carew <devoncarew@google.com> Reviewed-by: Samuel Rawlins <srawlins@google.com> Commit-Queue: Samuel Rawlins <srawlins@google.com>
This issue was originally filed by paulpmill...@gmail.com
Currying is a well-known (in functional languages) technique of transforming a function that takes multiple arguments (or an n-tuple of arguments) in such a way that it can be called as a chain of functions each with a single argument (partial application).
I propose to add its support into dart. Dart could implement them scala-way to keep both named / optional params and currying:
a = function(params1)(params2)(params3) {
return params1 + params2 + params3
}
a(5)(6)(7)
The text was updated successfully, but these errors were encountered: