User Feedback on "Functional Operators in the Blocks Editor" [GSoC'22 Project]

Hi everyone,

I am Siyao Li, a Google Summer of Code 2022 contributor at MIT App Inventor. I will be working on Functional Operators in the Blocks Editor project mentored by Susan Lan(@Susan_Lane), Mark Friedman(@Mark_Friedman), and Lyn Turbak(@Franklyn_A_Turbak). This post hopes to get your valuable feedback on the current plan of this project.

Project Description

This project aims to create new blocks for operators in functional programming in Block Editor which creates abstraction and brings convenience to users. In addition, the new blocks will introduce functional programming to students who are getting started in learning programming.


Both List and Dictionary data types will have one Map Block and one Reduce Block separately created. I will give an example of Map Block.

For List data type. The Map Block will have one input and a dropdown option to choose a procedure. The input will take a list and the dropdown option allows the user to choose which procedure to map each element of the list.

There will be restrictions to the procedures that the users will be able to select in the dropdown option. Only procedures with one input and one output will be shown in the options.

Similarly for Dictrionary data type, the Map Block will take a dictionary as input, and a dropdown option to select a one-input-one-output procedure. The procedure selected is expected to have its input and output be dictionary pairs.

You can find more details about the project on this proposal. Thank you for sharing your ideas!


Good luck with your project :+1::+1::+1:


Thank you! @Peter

1 Like

Best of luck with your project.


A sort block for lists may also be of use if time permits.


Thank you Preet!

@ewpatton Right, that will definitely be a useful block to have. I will keep this in mind. Thank you for this idea!