Closed sirinath closed 10 years ago
Hi Sirinath
Thanks. To answer you question I need to know on what level you need support for these things. On the one hand, since Rascal is a general meta programming framework, in principle it deals with any languages and targets any back-end. For different languages, the existence and quality of supporting libraries differs (for Java/JVM it is great, for PHP good, for other languages rudimentary or non-existing). On the other hand, Rascal itself runs on the JVM only currently.
So, what you means by supporting pattern & process calculus and different type systems of lambda calculus? It can all be made in Rascal, but there is not an off-the-shelf library for these languages.
Cheers!
This is mainly for a hobbyist activity. Possibility to use if for a Dataflow language in a project I am doing. So I am looking to make the process schematics type safe. Still no idea how to do this.
Also what I have been thinking is how dependent types can be used in a DSL like Idres and how to model Processors as Types with 1st class pattern matching.
The language should be simple like: http://www.shenlanguage.org/, http://en.wikipedia.org/wiki/Qi_(programming_language) or Scheme with layers build on top of each other and also better syntaxt similar to some one comming from C
Also I want to be use that I can stick to whatever I choose in case I want to implement some feature down the line. Since I am reading background material I still don't know all what I want but want to make sure I choose the best.
Sounds like an interesting project. Have a look at the recipes to see how things go in Rascal: http://tutor.rascal-mpl.org/Recipes/Recipes.html
Is it possible to add the following example langues from different paradigms or the challenging parts eventually to cover and stress test the framework: 1) Haskell, ML, OCaml, F#, Scala, Pure 2) C++, Ada, D, 3) Lisp, Scheme, Racket, Clojure, Qi, Shen 4) Idris, Agda, Coq, Isabelle, Placid 5) Python, Ruby, Perl, Smalltalk 6) Dylan, Rust, Nimrod, Mozart, 7) Prolog, Mercury, Twelf 8) Objective C, Eiffel 9) Bondi (Based on Pattern Calculus) 10) Fortress (break from traditional langues design) 11) Esterel, Lustre, CAL Actor Language, VHDL, Verilog 12) Modelica 13) Limbo, Go 14) Forth 15) A+, Q, K, R 16) Forth, Rebol
Of course this would be a slow process but it will let Rascal evolve to accommodate many types of languages and paradigm. Perhaps this can be a GSoC project as in the approach the K Framework is doing.
Also perhaps you can consider adding support for visual DSLs and ability to handle special visual rendering some point in time like in http://eclipse.org/sirius/
Hi. We have already powerful visual rendering in the making. See the Figure library. Otherwise we share your ambition for supporting as many languages as possible :-) but they come only one at a time... Indeed financial support for this would certainly help.
— Jurgen J. Vinju CWI SWAT INRIA Lille UvA master software engineering http://jurgen.vinju.org
On Fri, Dec 13, 2013 at 6:51 PM, Suminda Dharmasena notifications@github.com wrote:
Also perhaps you can consider adding support for visual DSLs and ability to handle special visual rendering some point in time like in http://eclipse.org/sirius/
Reply to this email directly or view it on GitHub: https://github.com/cwi-swat/rascal/issues/438#issuecomment-30528926
This is one of the most promising project I have seen. I am looking to see if some of the features below are supported and if not what is the road map to support them.
Does Rascal support:
1) All bases of the lambda cube 1.1) Ability to support different type systems 2) Pattern calculus 3) Process calculus
with interaction between the 1, 2 and 3
Also what the targets are. Can it target: 1) JVM 2) CLI 3) LLVM