File tree Expand file tree Collapse file tree 2 files changed +43
-2
lines changed Expand file tree Collapse file tree 2 files changed +43
-2
lines changed Original file line number Diff line number Diff line change @@ -225,7 +225,7 @@ module.exports = grammar({
225225
226226 functor_parameter : $ => seq (
227227 $ . module_identifier ,
228- $ . module_type_annotation ,
228+ optional ( $ . module_type_annotation ) ,
229229 ) ,
230230
231231 module_type_annotation : $ => seq (
Original file line number Diff line number Diff line change @@ -330,6 +330,10 @@ module MyFunctor = (X: {type t}, Y: {type t}): {type tx; type ty} => {
330330 type ty = Y.t
331331}
332332
333+ module F2: (S1, S1) => T = (X: S, Y: S) => {
334+ let cow = x => Y.foo(X.foo(x))
335+ }
336+
333337--------------------------------------------------------------------------------
334338
335339(source_file
@@ -372,7 +376,44 @@ module MyFunctor = (X: {type t}, Y: {type t}): {type tx; type ty} => {
372376 name: (type_identifier)
373377 (type_identifier_path
374378 (module_identifier)
375- (type_identifier)))))))))
379+ (type_identifier))))))))
380+ (module_declaration
381+ (module_binding
382+ name: (module_identifier)
383+ signature: (functor
384+ parameters: (functor_parameters
385+ (functor_parameter
386+ (module_identifier))
387+ (functor_parameter
388+ (module_identifier)))
389+ body: (module_identifier))
390+ definition: (functor
391+ parameters: (functor_parameters
392+ (functor_parameter
393+ (module_identifier)
394+ (module_type_annotation
395+ (module_identifier)))
396+ (functor_parameter
397+ (module_identifier)
398+ (module_type_annotation
399+ (module_identifier))))
400+ body: (block
401+ (let_declaration
402+ (let_binding
403+ pattern: (value_identifier)
404+ body: (function
405+ parameter: (value_identifier)
406+ body: (call_expression
407+ function: (value_identifier_path
408+ (module_identifier)
409+ (value_identifier))
410+ arguments: (arguments
411+ (call_expression
412+ function: (value_identifier_path
413+ (module_identifier)
414+ (value_identifier))
415+ arguments: (arguments
416+ (value_identifier)))))))))))))
376417
377418================================================================================
378419Functor signature
You can’t perform that action at this time.
0 commit comments