Comments (5)
I have to think about this, so much possibilities, your suggestion looks promising though...
from citrine.
I much prefer the event-driven model, as used in Node.js, to threads, which I feel are hard to understand (mutex locks. etc.).
from citrine.
what do you think about async etc? could we facilitate that as a message, somewhat like 'catch'?
from citrine.
There's a problem.
In a dynamically scoped language with concurrency/parallelism the behavior of your program depends on the behavior of the scheduler, which is generally not visible to the programmer. In fact, if the scheduler is nondeterministic, your program may be nondeterministic. Fun!
So why is Citrine dynamically scoped?
see also http://clojure.org/index
from citrine.
Dynamic scoping was easier to implement and I want to find a reason to upgrade to lexical scoping. However dynamic scoping offers a lot of benefits, it solves a lot of problems in dynamic OOP languages regarding dependency injection, service location, globals and wiring.
I'm not afraid of concurrency in Citrine, we already solved a lot of issues that seemed ugly at first but turned out to be trivial. I see concurrency as a challenge but also as a possibility to explore how parallellism may work together with dynamic scoping rules. Non-determinism is not really an option though. Well see what happens, it's fun!
from citrine.
Related Issues (20)
- Scrolling screens
- Multiplayer support
- 3D game support
- Automatic resize images and window
- Hover event
- Scientific Plugin
- On-screen controls (for Android/iOS)
- Optional line numbers in edit fields
- Optional code highlighting in edit fields
- Single line edit fields
- Browser
- Integrated payment options
- Support for mesh networks
- FFI
- SQLite Plugin
- Export to MacOS
- Deep integration with speech synthesizer HOT 1
- Hi-end Video Support
- Basic HTTP Request
- Replacing text from clipboard gives error
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 citrine.