-
Notifications
You must be signed in to change notification settings - Fork 7
Open
Labels
Status: ThinkingWaiting for some good ideasWaiting for some good ideasType: EnhancementAdd some functionalityAdd some functionality
Description
What problem does the feature solve
The localisation system is becoming increasingly more and more complex.
While it is possible to do many cool things with it - we are ultimately just reinventing the wheel (and doing a worse job)
The current syntax for "lambda" functions is ugly and confusing. Ugly example:
command.group.help: |-
{#|heading|Help: {command|name}}
{command|children|sort|{!it|name}|filter|{!sender|haspermission|{it|permission}}|map|{!#|map|{it|name}|{#switch|{=|{#len|{it|description}}>40}|1|{#sub|{it|description}|0|40}...|{it|description}}}|join|
}Describe the solution you'd like
Allow message to run scheme code.
Be able to replace the above with something like:
command.group.help: |-
{#scheme|(heading (get command 'name))}
{#scheme|(??? I need to learn scheme...))}Describe alternatives you've considered
Add more and more custom functions, until a horrid language is written.
I have noticed that the macro expansion system I've created does look scheme-ish, but with braces instead of parenthesise. Possibly, the all braces could be interpreted as scheme?
Things to think about
- Syntax for calling scheme?
- Maybe keep simple functions like the colour functions?
- How to pass objects
- Syntax for declaring functions?
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
Status: ThinkingWaiting for some good ideasWaiting for some good ideasType: EnhancementAdd some functionalityAdd some functionality