Re: [fonc] My annual hey, look at this post: Ivan Sutherland's FLEET architecture

2009-07-26 Thread Joshua Gargus
Nikolay Suslov wrote:
 Just to mention, that Thacker's BEE FPGA is not another hardware
 project, but the emulation engine, where Fleet (the novel processor
 architecture) is being researched and emulated.


A box packed full of FPGAs capable of 4 teraops/second isn't a hardware
project?  I beg to differ.  :-)

One of the target use-cases for the BEE is indeed to simulate new
processor architectures.  However, that's not all it's for.   Among
other things, the beecube.com webpage says that it can be used for FPGA
based computational acceleration in HPC and High performance digital
signal processing.

Cheers,
Josh


 Regards,
 Nikolay

 On Sun, Jul 26, 2009 at 12:40 AM, Joshua Gargus sc...@fastmail.us
 mailto:sc...@fastmail.us wrote:

 I just noticed this: http://fleet.cs.berkeley.edu/

 It seems relevant to this list both because it's an ambitious
 re-imagining of the foundations of processor architecture, and because
 of the intellectual heritage between Ivan and Alan.  I know that
 VPRI is
 keeping an eye on other hardware projects, like Thacker's BEE FPGA
 boxes, and I wonder how relevant Sutherland's work might be to
 VPRI in,
 say, 1 or 5 years?

 Cheers,
 Josh



 ___
 fonc mailing list
 fonc@vpri.org mailto:fonc@vpri.org
 http://vpri.org/mailman/listinfo/fonc


 

 ___
 fonc mailing list
 fonc@vpri.org
 http://vpri.org/mailman/listinfo/fonc
   

___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


[fonc] My annual hey, look at this post: Ivan Sutherland's FLEET architecture

2009-07-25 Thread Joshua Gargus
I just noticed this: http://fleet.cs.berkeley.edu/

It seems relevant to this list both because it's an ambitious
re-imagining of the foundations of processor architecture, and because
of the intellectual heritage between Ivan and Alan.  I know that VPRI is
keeping an eye on other hardware projects, like Thacker's BEE FPGA
boxes, and I wonder how relevant Sutherland's work might be to VPRI in,
say, 1 or 5 years?

Cheers,
Josh



___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


[fonc] SVN down

2008-09-26 Thread Joshua Gargus
Hi, the SVN at piumarta.com has been down for a couple of days.  Ian,
are you aware of this?

Cheers,
Josh

___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


Re: [fonc] Coding Standards

2008-08-24 Thread Joshua Gargus
Michael FIG wrote:
 Kjell Godo [EMAIL PROTECTED] writes:

   
 So what you're saying is that the idc which is written in C
 compiles C like code into machine code?
 

 idc is written in Pepsi.  You may be confused because the bootstrap
 .o.c files are included in the SVN checkout, at least until idc
 targets Coke instead of C.

   
 And then that machine code compiles Smalltalk like idst/Pepsi
 into machine code?
 

 No, GCC compiles the C code (until bootstrap).

   
 The idst/Pepsi compiles itself into machine
 code.  And this bootstrapping happens over and over again and
 not just once or twice in a year.
 

 The bootstrapping is when Pepsi and Jolt are unified into Coke, and
 that need only happen once.

   
Right, but there was also an initial stage in the bootstrapping where a
Pepsi compiler was written in C (C++?)... this is Phase 1 in section
6.1 of Accessible Language-Based Environments of Recursive Theories
(ALBERT).  This one has apparently already been discarded; now we just
start from the (Pepsi-compiler-generated) files in boot/.

This first one is a normal bootstrap, the exciting one will be when
Pepsi and Jolt are unified into Coke.  This is Phase 4 in section 6.1
of ALBERT.

Cheers,
Josh


___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


Re: [fonc] jolt3 [was: Porting CodeGenerator vs VPU]

2008-08-23 Thread Joshua Gargus
Kjell Godo wrote:
 AST = Abstract Syntax Tree?
   
Yes.



___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


[fonc] Slides and Videos from 2008 LLVM Developer Conference

2008-08-12 Thread Joshua Gargus
I haven't had time to delve into this myself, but I imagine that many 
here will be interested...


http://llvm.org/devmtg/2008-08/

Cheers,
Josh

___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


Re: [fonc] sideways composition and metacircularity

2008-06-13 Thread Joshua Gargus

On Jun 12, 2008, at 7:02 PM, James McCartney wrote:


I hope this doesn't come across as adversarial since I am sincerely
interested in this, but I am troubled by the sideways composition
paper.
It seems as if it is an existence proof that the id object model's
intention of having messaging semantics that are described entirely
in terms of those same objects and messages is not attained.


The Open, extensible object models paper (henceforth OEOM) does  
not claim to implement *all* possible messaging semantics, only *an*  
extensible object model and associated messaging semantics.




Implementing sideways composition required changing send and bind
which are not redefinable within the system.


Not within the object model described in OEOM, true.  It's a simple,  
fixed object model implemented in C.


However, have you read the COLA paper (http://piumarta.com/papers/colas-whitepaper.pdf)? 
  Section 6 describes a circular system where objects represent  
behavior, and the behavior is used to implement the object semantics.   
It also describes a multi-stage bootstrapping process by which the  
circular system can be realized.


The current implementation in SVN has reached the stage where Pepsi-in- 
Pepsi has been used to implement Jolt.  The final step of  
implementing Pepsi-in-Jolt has not yet occurred.


The reason that I mention this is to highlight that sideways  
composition via Lieberman prototypes is orthogonal to this  
bootstrapping process.  You can implement Jolt using Pepsi-without- 
prototypes; once you have it, you can use it to reimplement Pepsi.   
You can also (and I take this to be the main point of the COLA paper)  
extend the original Pepsi semantics to include prototypes, all within  
the running system (and certainly without compiling any more C files).


Cheers,
Josh



Only lookup can be
redefined in the vtable. The sideways composition as implemented is
still not able to handle multiple delegates. There isn't a way for an
object A that wants to delegate first to B and then to C (if B does
not already itself delegate to C). The single delegation mechanism is
hard coded in bind which is not redefinable from within.


--
--- james mccartney

___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc



___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


[fonc] New Tech Report from VPRI

2008-03-02 Thread Joshua Gargus

Hi all,

I feel a bit awkward announcing this (since there are VPRI members who  
frequent the list), but I think it's of general interest, and also  
provides a segue to the next email that I will shortly write.


VPRI has published Steps Toward the Reinvention of Programming on  
their website (http://vpri.org/html/writings.htm).  It's a synopsis of  
the work that they've done over the last year; as you might expect, a  
lot of it involves COLA.  It's well worth the read!


Cheers,
Josh



___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


[fonc] Declarative Networking in COLA

2008-03-02 Thread Joshua Gargus
After reading the latest VPRI tech report Steps Toward the  
Reinvention of Programming I was compelled to revisit the Declarative  
Networking research by Boon Thau Loo and others.  The claim is put  
forth that by specifying network protocols declaratively rather than  
imperatively, major gains can be realized in three areas:

- ease of programming (more concise, understandable, and modular code)
- optimizability (applying database optimizations to network queries)
	- balancing extensibility with security (eg: much more secure than  
unconstrained mobile code)


The first point is probably the most salient to VPRI's research  
agenda.  One impressive example is a factor of 100x reduction in the  
number of lines of code to implement the Chord DHT, compared to C++.   
The concise implementation required only 48 rules of NDlog (the Prolog- 
like language designed for declarative networking).


Unfortunately, I don't have time to work on this, but I thought that  
it might be of interest to Viewpoints or others in the community.   
Perhaps now that it's Google Summer of Code time, one of the grad  
students from Berkeley or Penn might be enticed to port P2 to COLA  
(instead of the yucky lex and yak that the NDlog parser is currently  
written in); it would be a nice encore to the COLA TCP implementation  
described in VPRI's new tech report (http://vpri.org/pdf/steps_TR-2007-008.pdf 
).


BTW, I found the best paper on the topic is Loo's Ph.D. dissertation,  
entitled The Design and Implementation of Declarative Networks.  The  
conference papers were too terse for me (but maybe not if you are more  
familiar with database theory than I am).


Josh

___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


Re: [fonc] goals

2007-12-06 Thread Joshua Gargus


On Dec 6, 2007, at 2:35 AM, Waldemar Kornewald wrote:


On Dec 6, 2007 1:48 AM, Joshua Gargus [EMAIL PROTECTED] wrote:

Is it correct that we'll have a Lisp-like syntax at the lowest level
and a Smalltalk-like syntax above (with some syntax sugar like in
eToys?)?



(Leaving aside whether eToys should be considered syntactic sugar on
top of Smalltalk, any more than C is syntactic sugar on assembler...)


Hehe. :)
Since we don't know what the eToys-inspired language will be like I
expressed it that way. What purpose will the eToys-inspired language
have? Will it be primarily for children or will it be more
general-purpose like Smalltalk?

Will most of the system be implemented in that eToys-inspired  
language?


In which language will the whole system be implemented such that it'll
only be about 20K lines?


It will be implemented in a variety of domain-specific languages.  For  
example, the code for networking, graphics, and defining new syntaxes  
might be written in different languages.


If I want to write some fancy peer-to-peer system, Smalltalk or Python  
are not much better than C.  What I really want is something like P2 (http://p2.berkeley.intel-research.net/ 
) that reduces the amount of code to write by a factor of 100.





As I understand it, one of the big goals of the project is that a
Smalltalk-like object can trivially send messages to objects  
generated-

by/coded-in JavaScript.  You can use any language that you want, yet
still have perfectly convenient access to libraries written in other,
more popular, languages.


What bothers me more is that if the lower-level language is based on
Smalltalk syntax then how are the other languages going to easily and
comfortably interface with that syntax? It'll probably have to look
like a mixture, similar to Objective C.


This statement is untrue, and reveals a misconception that explains  
your determination to get a solid answer about what the syntax will  
look like.  Once you're past the misconception, you will understand  
that Bert was not being equivocal when he said we do not pick any  
particular syntax at this point in time.


.NET might provide a useful analogy.  You can write an application in  
many different languages that target the CLR (C#, Python, OCaml), and  
since they all use the same underlying bytecodes and object  
representation, you can write code in one language that will send a  
message to an object written in another language even though the  
syntax of the two languages have very little in common.  Very roughly  
(sorry Ian), you can think of OLA as .NET without the VM.


Ian's papers (particularly http://vpri.org/pdf/colas_wp_RN-2006-001-a.pdf 
 and http://vpri.org/pdf/obj_mod_RN-2006-003-a.pdf) describe clearly  
how this is implemented.


Josh





Bye,
Waldemar Kornewald

___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc



___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


Re: [fonc] tutorial

2007-11-28 Thread Joshua Gargus

That's not bad.

How about simply OLA, since minimalism is such a big part of the whole  
adventure?


Josh



On Nov 28, 2007, at 5:30 AM, Steven H. Rogers wrote:


Stéphane Conversy wrote:
btw, I vote for ZOLA for two reasons: 1. http://acronyms.thefreedictionary.com/zola 
. Zola is not available in the list of acronyms.  (whci hmeans it  
IS available)
2. http://en.wikipedia.org/wiki/%C3%89mile_Zola: ...but I affirm,  
with intense conviction, the Truth is on the march and nothing will  
stop it. — Émile Zola


I still work hard to find out what the 'Z' would mean.


How about Zen Object Lambda Architecture?

# Steve


___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc



___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


Re: [fonc] syntax

2007-11-24 Thread Joshua Gargus
One thing that I'm surprised hasn't been mentioned in this thread is  
that the C/L/HOLA is designed to support domain- and mood-specific  
programming.  I think it makes sense to have uniform Smalltalk-like  
messaging semantics as the default, but to make it easy to shift over  
to math precedence for domains where it makes sense.


This approach risks causing confusion when switching between parts of  
the program which use different operator precedence.  I think that the  
UI can help with this by making it clear which precedence rules are in  
effect.  I've attached a mock-up of a Squeak workspace with an  
embedded mathematical expression.  It is clear from the font and  
layout where the domain-specific mathematical notation is being used.


Cheers,
Josh



inline: notation-switch.gif






On Nov 23, 2007, at 9:22 PM, Michael FIG wrote:


Hi,

Waldemar Kornewald [EMAIL PROTECTED] writes:


Let's take the explanation from wikipedia:
... a mode is a distinct setting within a computer program ..., in
which the same user input will produce perceived different results
than it would in other settings

Clearly, you need two different settings with two different
interpretations of the same action.

In our case, the first setting is math. The second setting is the
programming language. If you introduce a different interpretation  
in a

programming language then you introduce a mode because math is more
common than that language.


Math may be more common than that language, but for somebody
writing a lot of code in that language, it may make more sense not
to have modality within the language.

We have three modes at work:

1) Math operator precedence, as taught to mathematics students.

2) Selector precedence, as taught to Smalltalk programmers.

3) The precedence of selectors that happen to look like math
operators (#- #+ #* #/).

You can unify modes 1 and 3 (which you are proposing), or modes 2 and
3 (which is the status quo, and what many other people in this debate
are behind), but you cannot unify 1 and 2.

No matter what the choice of unification is, somebody is going to be
unhappy.  This is why I suggested to refuse the default precedence for
math-like selectors, and require parentheses to make the associativity
explicit.

In other words, the precedence of those selectors may be ambiguous
because mathematicians are so fond of an implicit precedence that
violates Smalltalk rules, so let's make it explicit.

--
Michael FIG [EMAIL PROTECTED] //\
  http://michael.fig.org/\//

___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc


___
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc