Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Control flow - advanced mechanisms #5

@dumblob

Description

@dumblob

All languages need some form of "escaping the structured programming fences". Older imperative languages have goto for this, but newer ones try to find some safer alternatives. Here is a (non-comprehensive) list of things to consider as it seems Til doesn't yet have a stabilized polished way to cover all the "escape structured programming use cases".

  • exceptions (currently error and error.handler procedures)
  • yield (a "highly tamed" form of async/await; untamed forms I personally dislike for objective reasons)
  • trap (as from bourne shell) or alike
  • Koka's effects on steroids (similar in capabilities as exceptions in Dylan; i.e. combining exceptions as they're now in Til plus yield - i.e. resumption)
  • V's ephemeral (!) optionals (I love them - but they require special syntax support and distinction between compile-time and run-time; but they completely avoid introducing none/null/nil value to the langue which is a huge advantage as three-state logic proved to be one of the few worst things in the whole IT industry)

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions