Comments (1)
Let has a bindings part and a body part. Scheme wraps the bindings part. Arc just has one binding, so no wrapping is required. With unpacking, maybe that's all we need. This makes it clear that it's let
, and not let*
.
!let: [1, 2]
:,: foo bar
frobnicate: foo bar
Or we could wrap the body part instead. Call it in
like Haskell. This syntax could have let*
semantics, which might be an important capability.
!let:
foo 1
bar 2
:in: frobnicate: foo bar
Or we could assume the last expression is the body, and require an explicit !begin
. Most of the statement macros haven't required this though.
from hebigo.
Related Issues (20)
- class macro and decorator syntax HOT 17
- implement if/elif*/else HOT 4
- loops and yield (and async?) HOT 3
- Extra reserved words HOT 1
- Consider renaming the empty hotword from :: to !: HOT 2
- Consider allowing control words to take arguments
- Fix relative imports HOT 2
- No error for unexpected indent HOT 1
- Add doctests, docstrings, and docs HOT 1
- Consider adding a Python to Hebigo cheatsheet
- Functions made with def are still named lambda?
- Add the ability to run the main module without precompiling
- installation with pipx fails HOT 10
- (just a backlink: I have added to reddit r/whitespaceLisp a link to this repo)
- Consider semicolons for one-liners HOT 1
- Add match/case
- Consider allowing hotword expressions nested in bracketed expressions HOT 5
- Python 3.10 broke the lexer HOT 4
- REPL brittleness
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 hebigo.