Aryeh M. Friedman | 22 Aug 2003 09:26

top level goals

				Pragmatic Goals

1. Create a language that allows for easy expansion of semantics to create a set of sub-languages.

	Reason: Allow the programmer to mix and match various programming paradigms and 
	meta-paradigms solve whole and/or sub-problems using the most intutative 
	semantics/abstractions as possible

2. Allow all above mentioned paradigms/meta-paradigms interact seemlessly at a very fundimental
level

	Reason: Just becuse data/code fragment X was created and/or modified using paradigm Y 
	should not make it so paradigm Z should have to treat it as a foreign data/code fragment

3. Support all currently known execution models (interperated, compiled, JIT compilors, embedded
in larger datasets/documents)

	Reason: Many applications require a mix and match different components running under
	different execution models

4. The "machine" API presented to the implimentor of paradigms/meta-paradigms should be 
platform independance

	Reason: See goal 3

------------------------ Yahoo! Groups Sponsor ---------------------~-->
Buy Ink Cartridges or Refill Kits for Your HP, Epson, Canon or Lexmark
Printer at Myinks.com. Free s/h on orders $50 or more to the US & Canada. http://www.c1tracking.com/l.asp?cid=5511
http://us.click.yahoo.com/l.m7sD/LIdGAA/qnsNAA/W4wwlB/TM
---------------------------------------------------------------------~->
(Continue reading)

Aryeh M. Friedman | 22 Aug 2003 09:18

design model

	For most of you where are familor with the Hunt-Thomas book will find most of this
review but the basic design/coding model I am using for Pragmatic is as follows:

	Development Work-flow model:

				Code generator(s)/Diagrammer(s) [aka UML]
				|	   |
				V	   V
		Goals->Specs->Mock Code->Unit Tests->Source code->Executables/libraries
							|			|
							V			V
							Documentation -> Installed Files
							|
							V
							Released Version

	The development model should allow stuff to be defined at the highest level possible
for example if a goal can be stated as a Pragmatic code fragment then if the goal is modified
it should filter all the way down into the installed files and released version.  Where is
if I modify something that is the output of a code generator it should be clobbered when I 
rerun the code generator.

	--Aryeh

------------------------ Yahoo! Groups Sponsor ---------------------~-->
Buy Ink Cartridges or Refill Kits for Your HP, Epson, Canon or Lexmark
Printer at Myinks.com. Free s/h on orders $50 or more to the US & Canada. http://www.c1tracking.com/l.asp?cid=5511
http://us.click.yahoo.com/l.m7sD/LIdGAA/qnsNAA/W4wwlB/TM
---------------------------------------------------------------------~->

(Continue reading)

Aryeh M. Friedman | 22 Aug 2003 08:57

versioning

		A quick and dirty guide to Pragmatic versioning

By Aryeh M. Friedman

Copyright (c) 2003.  The Pragmatic Project and Aryeh M. Friedman. All rights reserved.

See license in 'doc/legal/license' for details.

	Since we are using Aegis the versioning system will largelly follow it's branch
numbering scheme for version numbering.  Please note we assume changes and branch points
are equivelent so if branch has a change 1 and a branch 2 then X.1 and X.2 refer to them
respectivally.

	Version Suffix (Branch/Change)			Meaning
	-------------------------------------------------------
	X.0						Design/Specs/etc.
	X.1						Mock objects and unit tests
	X.2						"Code complete" version
	X.3						Full documentation
	X.4						Release version
	X.5+						Maintaince versions

	Version Prefix					Meaning
	-------------------------------------------------------
	0						First public release of "full" lang
	0.0						All top level design/specs/etc.
	0.1						PAM
	0.2						PCL
	0.3						Core PCL libraries
	0.4						Core paradigms
(Continue reading)

Aryeh M. Friedman | 22 Aug 2003 08:56

documentation

	Since a lot of the design documentation is locked inside aegis until the design branch
is complete I will post the importand documents to the list as they are written.

	--Aryeh

------------------------ Yahoo! Groups Sponsor ---------------------~-->
Buy Ink Cartridges or Refill Kits for Your HP, Epson, Canon or Lexmark
Printer at Myinks.com. Free s/h on orders $50 or more to the US & Canada. http://www.c1tracking.com/l.asp?cid=5511
http://us.click.yahoo.com/l.m7sD/LIdGAA/qnsNAA/W4wwlB/TM
---------------------------------------------------------------------~->

To unsubscribe from this group, send an email to:
pragmatic_lang-unsubscribe@...

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/ 

Aryeh M. Friedman | 22 Aug 2003 08:54

development model

	We will be using a change based development model for Pragmatic.
For those who are not familor with the model it can be summerized as follows:

	1) Their exists some "current" baseline version that always "works".
	   Works in this case is taken to be it passes all it's automated tests and
	   has passed the review and integration phases detailed below.  The basic
	   idea is if 3 pairs of eyes pass automated tests say it works then it probally
	   does.

	2) All changes go through the following steps:

		a) Chnage request -- A member of the Pragmatic community makes a request for
		a new feature, improvement to an existing one and/or a bug report.

		b) Change creation -- one of the project adimistrators approves a change
		as being needed

		c) Development -- The change is made and a set of automated (unit normally)
		tests.  In order to leave the development stage a change must build error free
		and pass *ALL* it's automated tests

		d) Review -- Where a human reviewer looks over all the new code and says it
		does exactly what the orginial change request says it should do (unless the
		administrator specifically specifies otherwise in step b)

		e) Integration -- The build and test are repeated in an enivorment that is
		different then the developer's to ensure stuff working is not a local fluke.
		Some teams (I think we should be one of them) use this as a second review.

	All this is supported under aegis (http://aegis.sf.net)
(Continue reading)

Aryeh M. Friedman | 22 Aug 2003 08:12

license

	An agreement on what license has been reached.  We will be using the
"win-win public license" (drafted by a splinter group of SDC).  The main highlights
of the license are:

	* 95% MPL except:
		+ Made more general to cover all creative works
		+ Better protection for indivual contributers
		+ Allows commerical use as per orginial SDC license

	* All commerical claims (at least for the core team) are waived for PAM/PCL
	  and likelly the various paradigms

	If you have any questions/issues please direct them to the WWPL mailing list
at http://groups.yahoo.com/group/wwpl

	--Aryeh	
----------------------------- CUT HERE ---------------------------------------
Win-Win Public License, version 0.4
Copyright(c) 2003, Creative Freedom Organization

The Covered Work that this License accompanies is provided under the terms
and conditions of this Win-Win Public License. Any form of use,
reproduction or distribution of the Covered Work constitutes the
recipient's acceptance of this License.

Everyone is permitted to copy and distribute verbatim copies of this
license document. Changing it in any way is not allowed, other than stated
in section 3.3.

Table of contents
(Continue reading)

Aryeh M. Friedman | 22 Aug 2003 07:50

starting on PAM


	Sorry for the long delay but was busy with something else.  I am offically
starting on PAM (new formal spec will be out tonight), the only thing I will not address will
be PCL->native system calls specifically but the mechinism needed to allow them will be
addressed (i.e. semi-atomic pstates [namely pstates that theortically do not need to be
atomic but for some semantic reason are easier to do that way]).

	--Aryeh

------------------------ Yahoo! Groups Sponsor ---------------------~-->
Buy Ink Cartridges or Refill Kits for Your HP, Epson, Canon or Lexmark
Printer at Myinks.com. Free s/h on orders $50 or more to the US & Canada. http://www.c1tracking.com/l.asp?cid=5511
http://us.click.yahoo.com/l.m7sD/LIdGAA/qnsNAA/W4wwlB/TM
---------------------------------------------------------------------~->

To unsubscribe from this group, send an email to:
pragmatic_lang-unsubscribe@...

Your use of Yahoo! Groups is subject to http://docs.yahoo.com/info/terms/ 

Aryeh M. Friedman | 8 Aug 2003 01:05

user/developer stories

	One of the major sticking points we as a "core team" where having was clarifing
our development model.  Thus there was a lot of major internal debate that did not need to
happen within the team and we gave a rather "crazied" public "face".  Now that the team is
being restructured much of this back and forth and never giving the future users of Pragmatic
a good picture of what we are thinking internally, thus giving an aloof perception of where
are heading.

	Now that the team has shrunk down to a more managable size I think it is time to
reopen the process that created all the initial good will for this project in the first place.
For this reason over the next few days I will be popsting various items designed to outline
what we have done and where we are headed and some ideas on how to get from here to there.
Remember this is largelly a group project and unless we look at it as a group the results
will be flawed to some extent, note some of the core techinnical decisions for pure conceptual
completeness reasons will need to made by one or two people (with everyones input though).

	For this reason the first major step we should take, now that people have some basic
idea of the core concepts behind Pragmatic, is to call for developer stories.  In order to prevent
some amount of chaos the following rules will be used for this process:

	* The person posting a story has a very good reason for viewing their story as one
	  of the most importand reasons for wanting a new language.  So to prevent the potential
	  of flame wars please do not respond to other peoples stories unless you want to expand
	  on the the story.

	* A story should focus on some development task you and/or your team has encountered
	  recently that did not have an easy solution due to language and/or paradigm limitations.

	--Aryeh

------------------------ Yahoo! Groups Sponsor ---------------------~-->
(Continue reading)

Aryeh M. Friedman | 8 Aug 2003 00:34

call for volunteers

	For various reasons the Pragmatic effort needs a good core of volunteers to
help in the following areas:

	* Documentation including project web site
	* Library design/implimentation
	* Paradigm/domain specific language design/implimentation
	* Misc. help

	I am doing most of the lowest level design and coding what we need is a good
group of volunteers that can take this to the everyday programmer's level.  This means
while that for now I am the only person doing "full-time" work on Pragmatic we will need about
10-15 hrs/wk help in all the above areas.  Since there is some potential of side projects
(i.e. paying) this would be a good project for consultants and/or students, but all are welecome to
help out.

	My vision is that the "core" implimentation (PAM/PCL) will be very flexibile and allows
for many paradigms to be built onto of it in an interoperable fashion.  This means while the
PAM/PCL portion has a fairly solid top-level design there will be a lot of room for people to
explore who are intrested in low-level work with in the existing framework.  At the high-level
it is completely wide open, literally except for a few minor semantic limitations documented
in the current PCL documentation the sky is the limit with what can be done.

	So if you ever wanted a language to do X well or just want to explore various issues
in language design and/or implimentation this is the perfect chance to do so.  Please contact
me privately and include "Pragmatic Volunteer" in the subject if your intrested.

	--Aryeh (aryeh@...)

------------------------ Yahoo! Groups Sponsor ---------------------~-->
Buy Ink Cartridges or Refill Kits for Your HP, Epson, Canon or Lexmark
(Continue reading)

Aryeh M. Friedman | 7 Aug 2003 18:03

Pragmatic Core Language definition

				Transformational Code:
			       Pragmatic "core" Language
					(PCL)

By Aryeh M. Friedman

Document status:  Pre-strawman

Overview
--------

	The main purpose of any general purpose computer is to transform a set of
inputs into a set of outputs.  It it fairly trivial to see _every_ program and/or computer
ever made has only one goal which can be expressed as:

	Input State(s) -----> Internal State(s) -----> Output State(s)

	Ideally when we as programmers write such a state transform we want to make it
as general as possible while at the same efficiently solving specific "problems".   Specifically
it does not help us to have a set of such transforms that will work, in theory, for all possible
binary math operations of it does not, for example, add efficiently.  This means we have to
finally balance genericality with abstraction.  In this context generic is taken to mean it
can solve all problems in a well defined problem domain such as addtion and abstract means
it can solve multiple problem domains such as all math operations.

	Different programming "paradigms" lend themselves to the transform of certain subset
of the problem domains of all problems and even then only to a certain style of solving these
problems.  It is highly unlikely that one paradigm will ever solve all problems with equal
ease and/or hardship.  For this reason it is best to allow certain number of very basic
constructs, that are themselves as paradigm "neutral" as possible, be used in an almost
(Continue reading)

Pichai Asokan | 7 Aug 2003 13:08
Favicon

Re: Documantation Format

> >  
> >  Btw are our documentation volunteers still with us? 
> >  
> >  AsokanPichai? 
> >  LarsHermes? 
> >  BradThomas?  
> 
> 	All three.
> 
I am just catching up with 400+ mails on the list. OOOOOH. Needed the 
asbestos suit at times; I am not through yet.

I am comfortable with LaTex; I used Lyx extensively and recently 
switched to using LaTeX directly.

If necessary I can learn enough of docbook and generate LaTeX from 
that.

Specifically, I want a suggestion/pointer; is there a way to get all 
the mails into one tarball/some mail format file? I want to cut and 
paste and edit from the many mails in the list. Push comes to shove I 
will do that directly.

P Asokan

------------------------ Yahoo! Groups Sponsor ---------------------~-->
Buy Ink Cartridges or Refill Kits for Your HP, Epson, Canon or Lexmark
Printer at Myinks.com. Free s/h on orders $50 or more to the US & Canada. http://www.c1tracking.com/l.asp?cid=5511
http://us.click.yahoo.com/l.m7sD/LIdGAA/qnsNAA/W4wwlB/TM
---------------------------------------------------------------------~->
(Continue reading)


Gmane