Comments (1)
#245 addresses nearly every case here. The only situation not covered is destructuring function parameters. Adding destructuring to function parameters makes it complicated to call functions with named arguments (what name do we provide to a destructured value?).
One possible solution, for the sake of ergonomics, would be to enable function parameter destructuring in lambdas only, and add strict checks that lambdas are never invoked using named arguments? That shouldn't be too game-changing, since it's probably a good thing to have anyway - lambdas rarely are even defined with named arguments. We should also throw an error when attempting to use destructuring in func
declarations, something like "cannot use destructuring in a function declaration, can only be used in lambdas". See #251 for more details
from abra-lang.
Related Issues (20)
- Implement tests (in abra!) for abra
- Fix notion of "constant import" for types/enums/functions
- Errors should work with multiple files
- Clean up returns
- Special termination handling for `while true` loops?
- Deep destructuring in match cases HOT 1
- Type aliases
- REPL
- Support special statements as block contents
- Formatter tool
- [Spike] Remove dynamic dispatch for native builtin types
- Remove all the wasm serialization stuff
- Returns do not work within lambdas
- Adding `Result<V, E>` type, with `try` expressions
- Cannot return from mid-expression context
- Issues with typechecking enum variants with default-valued fields
- `match` only uses `variant_idx`
- [C-Compiler] Global overshadows "known"-ness of local variables
- `as?` operator
- Support "lower arity" functions passed as arguments
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from abra-lang.