-
Notifications
You must be signed in to change notification settings - Fork 28
Home
Transient is a revolutionary way to do almost everything and making it easy: from console to Web programming to Distributed Computing to parallel and concurrent programming and do it with the less effort and with less code. Promised.
Scared by the complexity of the Haskell language? Don't worry. Transient is made to make you productive from the beginning, since it does things for you. Anyone with a little knowledge of Haskell can use it.
If you can play guitar without knowing music notation (which is good) Why you have to know monad transformers to be a productive programmer in the best programming language ever? Transient gives you a complete guitar with new sound effects already tuned in which you can play whatever you please, like with your old guitar. But better. You can tune it for your taste at a later time. Transient can be the base over which you can create your own EDSL. So in your learning curve, you become productive from the beginning.
Haskell has the reputation of a long learning curve. That is because it is based on principles. This means that is a do-it-yourself with a wonderful toolbox of concepts and abstract libraries that are hard to master. It encourages algebraic composition and purity. It is a pleasure to use functional and algebraic composition to create these pure Haskell programs like fibs and factorial. It is very nice to play with list or other containers to compose long chains of functions to do folds and maps and traversals and simulate indeterminism.
But you have to leave this world of magical composition at the data level, since at the processing level you have to think in parallelism, concurrency, asynchronicity, routing, callbacks, frameworks to deal with real requirements.
What if you can use functional expressions for all of this?. And even more, what if you can compose something that I have never dreamed to do algebraically, like distributed computing?
This means that application components that implement user requirements can be composed algebraically, no matter what they do.
See the Tutorial.
Slides of the transient talk at Lambda.Word 2016
You can visit the Transient-Transient-Universe-HPlay/Lobby lobby in gitter for questions and support
| Intro
| How-to
| Backtracking to undo IO actions and more
| Finalization: better than exceptions
| Event variables: Publish Suscribe
| Checkpoints(New), suspend and restore
| Remote execution: The Cloud monad
| Clustering: programming the cloud
| Mailboxes for cloud communications
| Distributed computing: map-reduce