Comments (4)
It is slightly more difficult to separate than one would guess. Since tags really is a core part of the language, I'm not sure where we would draw the line. It is possible to move more of the tag related methods out into a separate library, but since ie. <div.large.warn>
is a valid and native part of the language, we need the runtime/framework for that to work as expected (I think).
Is the motivation to be able to use the tags without Imba, or merely to clean up and tighten imba 'core' and be able to use Imba without including all this tag-related stuff? :)
from imba.
Motivated by the fact that after CoffeeScript hype ppl actively looking for an alternative syntax and ES6 does not fit too well.
The keyword here is "syntax", cause a general purpose language needed, i.e. tags not needed on server... Instead a strong small core that evolves separately from the tags needed.
But if you say Imba was not intended as a general purpose superset, that's ok.
After all, no tool can fit all needs.
from imba.
Since tags is in fact a core part of the syntax itself, it is probably difficult to separate the two without basically splitting it up into two languages :/ But even though tags are useful specifically for web apps, Imba itself can be used as a general purpose language? Some languages don't have first-class support for regular expressions. But a language like js has.. you can create a regexp with the /regex?/
syntax. It would feel pretty strange if that could throw an error RegExp library not included
? Unless we split up Imba in two languages, that would happen if you tried using tags (native syntax) without including the 'framework'.
Maybe we should simply market it more as a general purpose language - because it absolutely is. But imho people who create web apps will get the most benefit from it :)
from imba.
I was thinking about this in the car yesterday.
👍 I think it'd be great to split the language from the library. The compiler would stand separate from the lib, and could accept a --lib
flag that would internally switch compilation logic for Imba
(global) based helpers as opposed to natively-stubbed replacements.
This allows anyone (hello ruby devs?) to write more natural-feeling JavaScript, with option of easily working with/integrating a great DOM library too.
Essentially, Imba acts as the CoffeeScript 2.0 (for syntax & compilation), but comes with an optional but highly recommended library behind it.
from imba.
Related Issues (20)
- [CSS] Advanced CSS units
- [CSS] Support CSS values with / and spaces HOT 1
- Components that inherit from another class do not render with the appropriate CSS class HOT 1
- input's native "list" property throws error
- Draggable HTML attribute is set to "true" when it equals "false" as a string HOT 1
- [Docs] No documentation for templates. imba create points to an empty page.
- `imba create ; pnpm i` installs imba 0.9.0
- ease (Transitions) eat mouse event HOT 5
- One more or up to three more steps in Imba clever syntax
- + and ~ css selector doesn't work with indentated declarations HOT 1
- Passing objects without {} sometimes ambiguous HOT 5
- window.print not working HOT 3
- change to value of property in an `@observable` object doesn't trigger `@autorun`
- Router hooks
- bxs: outline should support inset, and suggestion to add bxs:stroke (inset) for 1px shadows
- interpolation of values to hue not working as espected
- Feature Request: Support Prolog Style op/3 User Defined Operators
- Regression of inline if statement during interpolation
- Regression - global css inside tag statement is not working
- @touch CSS rules don't fire in 2.0.0-alpha.234
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 imba.