Comments (3)
I agree that this would be nice if it could be done perfectly, but itβs trickier in practice than it might seem. I do think it would be cool to have an opt-in ML-like reader that you could get with #lang hackett/ml
or something like that. For prior art, check out the following SRFIs:
- SRFI 49: Indentation-sensitive syntax
- SRFI 110: Sweet-expressions β This one has an existing Racket implementation that works with arbitrary
#lang
s that use the Racket reader, including (as of now) Hackett. - SRFI 119: wisp
The fact that there are three different standards for this hints that this is a harder problem than it might seem. I would encourage you to study the different tradeoffs each of them makes to better understand what the challenges are.
from hackett.
As a personal perspective -- after a long time of doing Lisp, and then coming to Haskell, I have come to value its visual terseness.
It seems to increase the raw perception bandwidth.
from hackett.
While I agree that Haskell-like syntax may be easier on the eyes for some, I doubt that the individual perception bandwidth is increased all that much. And the parentheses are not only useful for macros but for editors' structural editing capabilities (which can be thought of as development-time [i.e., pre-compile time] key-bound macros).
from hackett.
Related Issues (20)
- Instance chaining seems to fail HOT 1
- Proposal: a macro DSL based on bidirectional type checking HOT 2
- Slow typechecking due to linear search in type context HOT 3
- issue with polymorphic values?
- Functor Instance Misbehaving HOT 3
- Rigid vars allowed to escape their scope HOT 3
- Expression type annotation vs. Declaration type annotation HOT 6
- Case pattern expanders? HOT 3
- #%elaborate-top combined with begin HOT 2
- Matching on the result of a constrained type variable
- Allow a macro to "reset" the elaborator and do all the elaboration passes within itself HOT 4
- Infinite loop while resolving instances HOT 3
- scribble/manual HOT 1
- Internal error when typechecking malformed `forall` clause HOT 3
- Auto-derived Show instance not terminating HOT 2
- Indendation sensitivity HOT 1
- Please add the `racket` topic to this repo
- Current Status HOT 2
- Thank you for the docs!
- README doc link 404's HOT 2
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 hackett.