Stawman Pragmatic Archetecture
"Eric Merritt" <cyberlync-/[email protected]> Sun, 03 Aug 2003 18:09:35 -0000
| Newsgroups | gmane.comp.programming.pragmatic |
|---|---|
| Message-ID | <[email protected]> |
Guys, This is just a *very* early strawman of how we expect the platform to be organized. Dont read too much into it and comments are welcome. ------------------------------------------------------------ Stawman Pragmatic Archetecture The Pragmatic Platform is composed of several parts. Some of these parts are more important then others. Still others are interchangeable with as yet unspecified and unimaginged parts. As with the Pragmatic Language the platform is designed for extensability and simplicity. Each part is layered on top of another part and intechangable third party parts. The core of the platform is, of course, the language itself. The rest of the Platform is built up around the langauge. Towards the hardware level is PAM, the Pragmatic Abstract Machine. On top of the langauge toward the developer is built the paradigm specific extensions, DSLs, and foriegn function interfaces. The language tries to be as platform nuetral as possible while retaining simple syntax and semantics that can be built upon. The language must have extension mechenisms built in that will allow the building of these paradigm specific extensions and DSls. PAM is as front end for the languge that allows the translation of Pragmatic source to a generic tree structure. This tree structure carries much of the source information of the Pragmatic source it translated. At this point this generic tree can be used as to interpret the source, generate source documentation, compile to native code, [embedded content], etc. PAM is not however the end all and be all of Pragmatic backend implementations. In fact, since the Pragmatic Language is an open specification and simple too boot any one may easily create any backend they wish. However PAM has already done much of the work for these intrepid developers. It is expected that much of the front end work of PAM will be leveraged for tools like interpreters, source documentation generators, binary compilers, [embedded conten], etc. On top of the Pragmatic Language are the paradigm and DSL extensions. These allow users of the Pragmatic Language to use the paradigm(s) that best fits the application they are trying to create. It is likely that a few paradigm extensions will be provided with the Pragmatic Platform. These extensions may include Object Oriented extensions, Functional extensions, Prodcedural extensions, and Declarative extensions. As new extensions are defined they can be modeled and implemented in easily in Pragmatic. Becuase of the extensability of Pragmatic it is also simple to implement Domain Specific Languages and application specific constructs. It is expected that developers will create thier own extensions on an as needed basis. While we have been purposally sketchy in some respects about how the higher level extensions and paradigms fit into the core our goal is to ensure a common set of cross extensiona and paradigm standards are followed so that smooth interoperablity is always possible. In many ways this is our most importand meta-design goal. The Pragmatic Platform should provide exensability and programmer choice well beyond anything currently available. It is our hope that with the help of the community we can provide a quality product that meets all of the criteria specified here. There is a drawing of this at http://f6.grp.yahoofs.com/v1/oE0tPwtXiVUxOOlowzREOHBuskeeJtZD0ptUDJp1W GdG9tg2MLc34T5Nda-VwVLeYQQ3Ucl7WJxYOntb/tld_update.jpg We are not artists so cut us some slack on how it came out ;) ------------------------ Yahoo! Groups Sponsor ---------------------~--> Free shipping on all inkjet cartridge & refill kit orders to US & Canada. Low prices up to 80% off. We have your brand: HP, Epson, Lexmark & more. http://www.c1tracking.com/l.asp?cid=5510 http://us.click.yahoo.com/GHXcIA/n.WGAA/ySSFAA/W4wwlB/TM ---------------------------------------------------------------------~-> To unsubscribe from this group, send an email to: pragmatic_lang-unsubscribe-hHKSG33TihhbjbujkaE4pw@public.gmane.org Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/