FuncSug: To make GUI programming easier (github.com)
from cli345@programming.dev to programming@programming.dev on 27 Feb 20:10
https://programming.dev/post/26112122

Hi, I made FuncSug to make GUI programming in the browser easier. It’s a new language that aims to enable a clearer and easier code structure.

Can you tell me what you think about it?

#programming

threaded - newest

pancake@lemmygrad.ml on 27 Feb 20:22 next collapse

Looks good, I’ll have a deeper look at it later today.

cli345@programming.dev on 27 Feb 20:35 collapse

Thank you! I look forward to hearing your opinion.

pancake@lemmygrad.ml on 27 Feb 23:37 collapse

Okay, first of all I must admit it’s been years since I last wrote anything web-related. My JavaScript is a bit rusty, but I definitely see the problem that funcSug seeks to solve. I’m really impressed too with all the resources the authors have put together, especially the playground! I’m sorry I can’t say anything more useful given my little web programming experience. I’m bookmarking this though :)

cli345@programming.dev on 28 Feb 11:45 collapse

Thank you for your feedback, which lets me know that you enjoyed the playground. :)

crmsnbleyd@sopuli.xyz on 02 Mar 18:02 collapse

I love the idea! I would suggest adding a native representation of HTML tags so that the programmer doesn’t have to construct them through strings.

The example of choices also looks a bit tough to me, but that’s just personal preference. What inspired you to use something like …—?

cli345@programming.dev on 03 Mar 12:34 collapse

Thank you for your very useful feedback :)

A native representation of HTML tags is a good idea: I’ll have to do that.

For …—, I wanted a big split symbol between branches (||========) and a small split symbol between the two steps inside a branch (…—). because the branch continues and to mark a smaller split than ==========.

I intend to add a syntaxic sugar for:

parallel(select N) ||
||==============
	myFunction(arg1,...,argM)
...--------
	restOfBranch1
||=============
	myFunction(arg1b,...,argMb)
...-------
	restOfBranch2

that would be:

choose N by myFunction
	* arg1,...,argM
		restOfBranch1
	* arg1b,...,argMb
		restOfBranch2