|
|
|
|
|
by skybrian
2381 days ago
|
|
Thanks, this is interesting discussion. It seems like these treatments tend not to get to the heart of the expression problem as seen in actual language tools, which is migration between language versions. Let's say you're on version 5 of a language and you want to migrate all your tools to support version 6 where there is a new expression type. Can your codebase clearly represent a situation where some tools have been migrated to support version 6 and others aren't done yet? Can you easily figure out what remains to be done? And once the migration is done, can we remove any traces of the previous version that we don't want anymore? And how do we approach this if the AST is published as a library and each tool is a package written by a different team? There might be other usages of sum types that are simpler, though. |
|