Comments (4)
For the record, I feel that Fructjure represents a better approach than a new surface syntax.
from rhombus-prototype.
While I'm also a fan of fructure, I feel that at the moment there are conceptual, technical, and social issues with projectional editing that makes it awkward to consider as a strict alternative to syntax renewal. It's definitely something I'm going to be experimenting with; also see isomorf for a more immediately applicable example of switching between surface syntaxes: https://isomorf.io/#!/syntax-picker/tours-overview .
That said, I for sure think richer language-editor integration should be on the table. Starting with a very prosaic example: When I define new syntax, I currently use (eg) Dr. Racket's preferences to determine its highlighting/indentation behavior. I might like to be able to determine/suggest said behavior in a language-oriented manner, either inline with my syntax definition, or as some kind of seperate style sheet.
More broadly, I'd like to talk/hear about support for defining new editor modes, both in terms of interaction and projection, at library and #language levels.
from rhombus-prototype.
Reading is different than writing. Understanding is different than solving. “Code is read more than it's written/changed”. Many debates about syntax are unclear about the distinction, and some claims are not only more true of one mode than the other, many are as false for one mode as they are true for the other.
This needs details and examples, which I hope to supply at some point, but one conclusion (or personal preference if that sounds too strong at the moment) is that being able to easily view code in many different ways is much more important than easing the editing of the source (and easing the viewing of it would help me a lot during editing). In particular, some sort of style-sheets-for-code is likely a sweet-spot for power and simplicity.
from rhombus-prototype.
Recall also that a surface syntax change affects far more than just editable code. Code snippets in markdown files, example code in Scribble docs, code snippets typed in mailing list emails and chatrooms, random blog posts, etc. would all be affected by a changed surface syntax. Unless a projectional editor can somehow automatically and transparently integrate with all of these places at once, it won't address the same use cases as a surface syntax change.
from rhombus-prototype.
Related Issues (20)
- Should multiple-value static infos live under a key? HOT 1
- Is `export` in `meta` supposed to work?
- `super` outside of a class uses wrong syntax object for error
- identifiers with dots in them HOT 4
- Module-path operators confuse Check Syntax
- `values` reducer incorerctly propagates initial-value static info HOT 3
- Improve static error for incorrect arities of subclass constructors HOT 1
- Some use of `Group` leads to “syntax class incompatible with this context”
- Alts after extra-indented blocks
- Not all macro options are allowed in pre-alts block position
- Scope pruning in Rhombus blocks
- arity error in annot.macro implementation HOT 2
- Eager expansion of definitions’ right-hand sides can be detected
- Unquoted matches are not available in the same pattern
- Use-site binder hygiene bug for `let` HOT 7
- A `let` before another `def` in the same block HOT 2
- Giant green blobs in DrRacket HOT 6
- punning doesn't work in presence of :~ or :: HOT 1
- Fallback option in veneers
- ad used, when "as" was probably better HOT 1
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 rhombus-prototype.