Discussion:
Input and Reading
(too old to reply)
Eric
2003-11-08 15:45:13 UTC
Permalink
Hi to all,

I have a problem regarding inputting and reading the input in Oberon
System3 or BlackBox..
These are my concerns:
1. What is the code for inputting a string, integer, char
2. How can i read these input??

Thats all for those who know... Pls help me in these concerns
Thank You
WLad
2003-11-08 16:03:17 UTC
Permalink
Post by Eric
Hi to all,
I have a problem regarding inputting and reading the input in Oberon
System3 or BlackBox..
1. What is the code for inputting a string, integer, char
2. How can i read these input??
Thats all for those who know... Pls help me in these concerns
Thank You
What do You mean saing "input" and "output" in Your case?
There is no traditional "default input" in Oberin-family system.
It may be I havn't understud questions right but it looks like You need
read more about Reders and Writers (and Carriers and Riders).

Excuse me for very inexact answer but "an answer is equal to a question"
:o))))
Eric
2003-11-09 09:57:22 UTC
Permalink
Hi,
What i mean is what is the code for reading a string?? I tried
using this code but it does not work..

VAR i: TextModels.Reader;j: TextModels.Writer;k: STRING;
BEGIN
j.WriteString("Input name: ");
i.ReadString(k);
END
why does this not work??
1. in declaring a string it does nt recognize it, it says unidentified
identifier
2. in readstring, it says unidentified record field
Post by WLad
Post by Eric
Hi to all,
I have a problem regarding inputting and reading the input in Oberon
System3 or BlackBox..
1. What is the code for inputting a string, integer, char
2. How can i read these input??
Thats all for those who know... Pls help me in these concerns
Thank You
What do You mean saing "input" and "output" in Your case?
There is no traditional "default input" in Oberin-family system.
It may be I havn't understud questions right but it looks like You need
read more about Reders and Writers (and Carriers and Riders).
Excuse me for very inexact answer but "an answer is equal to a question"
:o))))
WLad
2003-11-10 07:32:38 UTC
Permalink
Post by Eric
Hi,
What i mean is what is the code for reading a string?? I tried
using this code but it does not work..
VAR i: TextModels.Reader;j: TextModels.Writer;k: STRING;
BEGIN
j.WriteString("Input name: ");
i.ReadString(k);
END
why does this not work??
1. in declaring a string it does nt recognize it, it says unidentified
identifier
2. in readstring, it says unidentified record field
OK. Some question...
1. Do we talk about BlackBox?
If YES:
2. Where did you find STRING identifier in BlackBox classs set? (Same it
is not in CP...). You must use ARRAY OF CHAR...
3. You use i reader and j writer. As we can see they are from
TextModels. Where is your text model? That is: a)where do you send your
"Input name:" string to? And b) where do read k string from? :o))))
Define them or use form with controls to get strings.

Your second case is due to first one. If you corerect type of k you
eliminate second error message. BUT! Do not remember about MODELS!!!

Good luck!
WLad
2003-11-10 07:41:39 UTC
Permalink
Post by WLad
BUT! Do not remember about MODELS!!!
Of course I mean DO NOT FORGET!!! :o)))
Eric
2003-11-14 08:53:14 UTC
Permalink
What i want is for it to be displayed in the system log???
Is it possible??
If not, how do i create textmodels??
btw, im juz a beginner
Post by WLad
Post by Eric
Hi,
What i mean is what is the code for reading a string?? I tried
using this code but it does not work..
VAR i: TextModels.Reader;j: TextModels.Writer;k: STRING;
BEGIN
j.WriteString("Input name: ");
i.ReadString(k);
END
why does this not work??
1. in declaring a string it does nt recognize it, it says unidentified
identifier
2. in readstring, it says unidentified record field
OK. Some question...
1. Do we talk about BlackBox?
2. Where did you find STRING identifier in BlackBox classs set? (Same it
is not in CP...). You must use ARRAY OF CHAR...
3. You use i reader and j writer. As we can see they are from
TextModels. Where is your text model? That is: a)where do you send your
"Input name:" string to? And b) where do read k string from? :o))))
Define them or use form with controls to get strings.
Your second case is due to first one. If you corerect type of k you
eliminate second error message. BUT! Do not remember about MODELS!!!
Good luck!
WLad
2003-11-14 12:30:53 UTC
Permalink
Post by Eric
What i want is for it to be displayed in the system log???
Is it possible??
If not, how do i create textmodels??
btw, im juz a beginner
Use StdLog module.
U can see the set of it's exported procedures such way:
1. Type (where you want, even in Log window) StdLog.
2. Select it using cursor
3. Select Info->ClientInterface menu item.
4. You have list of all exported item of StdLog module.
It will be better if in step 3 you will select Info->Documentation menu
item. It allow you to observe info about concrete item. For example
selecting StdLog.String string and Info->Documentation you could read
info about this provedure.

That is simple way to OUTPUT what you want.

What concerning INPUT requires more understanding of framework and
processes in BlackBox.
"On fingers" it looks like this:

There is text variable of type TextModels.Model is in StdLog module. So
you have TextModel to operate with.
Of course now you can obtain Readers and Writers to read and write to
this TextModel.
BUT!
Nobody does such way. Of course you can read from StdLog. But StdLog
usually is used as an output facility. Because you must by your own
search in Model need pos to read next token or char. Do you need this?

My advice for you is: use dialog form for input and StdLog only as rough
debug facility.

AND!!!

Read HELP providing by BlackBox.

BlackBox isn't "yet one" IDE. This is top of iceberg of other idiology.
You must spend some time at the begining (reading and mastering the
system) but then you have very comfortable facility for everyday
programming practice.

And welcome to real component-orientetd world! :o)))
Aubrey McIntosh
2003-11-14 16:41:39 UTC
Permalink
Post by Eric
What i want is for it to be displayed in the system log???
Is it possible??
If not, how do i create textmodels??
btw, im juz a beginner
I think that the biggest issue in this post, as with many people who
explore here from other language legacies, is this: trust the system
designers, they are all top notch. I have beta tested since about
1991, and have zealously tried to find errors. While my efforts have
lead to interesting email dialogs, I have always become convinced that
the documentation is complete, though ponderous, the code accurate,
and the design coherent.

After you trust the designers, of course you take actions for success.
Don't give up if you don't find the answer in 30 seconds; read and
explore.

I took these actions just now.
1. I started BlackBox 1.4
2. I went to the Help menu, and selected Contents.
3. I examined the dialog window that opened. This window has the
menu title "Help Contents" and the internal caption "Map to the
BlackBox Component Builder Documentation"
4. I clicked the item "Overview by Example."
5. I selected the first example "ObxHello0" and clicked on it.
6. I read the "first example" that writes Hello World to the log.
The entire source is there, as well as complete instructions to
compile it. I verified that it works. It takes a fraction of a
second to load the compiler, compile the source, write the message in
the log, and be finished. This disoriented me the first time I worked
with Oberon. I compiled the source several times, and waited several
seconds for the compiler to load and give warning messages. It
doesn't: it finishes correctly in an eyeblink.


For the future:

7. Continue to trust.
8. Go looking for an example that uses input. ObxCaps looks
promising, inspect it.

9. Try to produce your own custom example that uses text and puts it
into the log.


10. Now, all of us old hands know that you are seriously disoriented
at this point, trying to find out how to type input after you start
your program. Hehe. :-)

11. Again, trust the designers.

12. Absolutely everything in the system allows you to put your input
on the screen, review it, change it, have a document you can save when
things go right, or when things go wrong. Re-use it over and over.
No more trying to write cryptic notes on scraps of paper when working.
Everything on the screen can be used as input. Input and Output are
one. It is magic, marvelous, economical.

Is this useful? I telnet to a mail server (in V4), copy my login
commands and my remote mail reader commands, delete the 50 to 70
spams, logout, all with a few mouse clicks, then bring mail from the
server through my modem. No mistakes, when changes are required a few
keystrokes are all that is required, save the document, and it is
done.

13. So, go and read all weekend. You can read, comprehend some of
the system, practice its use, start a project, finish a project faster
in this system than you can do an extensive debug session with most
other environments. Then, with the second project, it accelerates.
Aubrey McIntosh
2003-11-14 16:03:31 UTC
Permalink
Post by Eric
Hi to all,
I have a problem regarding inputting and reading the input in Oberon
System3 or BlackBox..
1. What is the code for inputting a string, integer, char
2. How can i read these input??
Thats all for those who know... Pls help me in these concerns
Thank You
The answer is different for Oberon System3 and BlackBox.

Which one do you want?
Eric
2003-11-15 09:52:14 UTC
Permalink
Hi,
I have read all the contents in the help menu already but still cant
find the answer in reading input from system log..

Blackbox would be ok...
Can u give me a simple code for reading input
i juz need a basis
tnx
Post by Aubrey McIntosh
Post by Eric
Hi to all,
I have a problem regarding inputting and reading the input in Oberon
System3 or BlackBox..
1. What is the code for inputting a string, integer, char
2. How can i read these input??
Thats all for those who know... Pls help me in these concerns
Thank You
The answer is different for Oberon System3 and BlackBox.
Which one do you want?
Aubrey McIntosh
2003-11-15 17:27:59 UTC
Permalink
Post by Eric
Hi,
I have read all the contents in the help menu already but still cant
find the answer in reading input from system log..
Blackbox would be ok...
Can u give me a simple code for reading input
i juz need a basis
tnx
I have placed an example at
http://www.jump.net/~vima/BlackBox/alm01exampleio.txt

Be sure that you do not have a file named Priv/Rsrc/Menus.odc
Open alm01exampleio.txt in BlackBox, use the Tools --> Decode menu to
extract three files.
Compile the source, update the menus.

This has more complexity in the interface than you asked for, but
follows very closely to the examples provided by the system, and has a
much more finished appearance.

I also spell some common words fully and correctly.
Eric
2003-11-16 02:45:01 UTC
Permalink
Hey,
Thank you! Now i understand how to do it in blackbox.
Just one last question... i am juz confused
is blackbox using the oberon language?? because we are supposed to use
the oberon language,,
if not, can u give me a simple application like that in system3??
btw,, wat is POW?? ive been told it is like blackbox??
Post by Aubrey McIntosh
Post by Eric
Hi,
I have read all the contents in the help menu already but still cant
find the answer in reading input from system log..
Blackbox would be ok...
Can u give me a simple code for reading input
i juz need a basis
tnx
I have placed an example at
http://www.jump.net/~vima/BlackBox/alm01exampleio.txt
Be sure that you do not have a file named Priv/Rsrc/Menus.odc
Open alm01exampleio.txt in BlackBox, use the Tools --> Decode menu to
extract three files.
Compile the source, update the menus.
This has more complexity in the interface than you asked for, but
follows very closely to the examples provided by the system, and has a
much more finished appearance.
I also spell some common words fully and correctly.
Ulrich
2003-11-16 08:23:18 UTC
Permalink
Thank you! I understand now how to do it within BlackBox.
is BlackBox based upon the Oberon language? We are supposed
to use the Oberon language.
If BlackBox is not based upon Oberon could you provide a
simple example in system3?
BTW what is POW? I've been told it is like BlackBox?
BlackBox nutzt Component Pascal. Das ist zwar syntaktisch
Modula-2/Oberon nah, weicht aber doch so weit ab, dass sich viele
Oberon-Quellen nicht damit übersetzen lassen. Wenn man sich auf eine
Teilmenge von Component Pascal beschränkt, kann man damit tatsächlich
"Oberon" programmieren.

Neben der Sprache ist aber die Architektur und konkrete Ausformulierung
des Gerüsts von entscheidendem Einfluss, das heißt die Gemeinschaft der
Modul-Schnittstellen, die man vorteilhafterweise benutzt, um nicht bei
Null anfangen zu müssen. BlackBox bietet eine reichhaltige und
leistungsfähige Basis, die zu verlassen viel mehr Aufwand bedeutet, als
die syntaktischen und teilweise semantischen Anpassungen von Component
Pascal nach Oberon.

Oberon System 3, neuerdings auch ETHOberon genannt, ist ein völlig
anderes Gerüst, das zu benutzen separat erlernt werden muss. Aber auch
dazu gibt es gutes Lehrmaterial, das zusammen mit dem System geliefert
wird, und ein sehr gutes Buch "The Oberon Companion" (von Fischer und
Marais), mit dem das gesamte System vollständig kennenlernen kann.

POW ist das Akronym von Programmer's Oberon Workbench, welches ein
Entwicklungssystem für Windows ist. Es bietet wie BlackBox und ETHOberon
ein Gerüst, um effizient Programme für Windows entwickeln zu können.

Während aber beim ETHOberon ein plattformunabhängiges Erscheinungsbild
und eine plattformunabhängige Benutzerschnittstelle realisiert ist,
werden mit POW und BlackBox Programme entwickelt, die dem Windows-Stil
entsprechen. Da POW nicht mehr gepflegt wird, soweit mir bekannt, sollte
man sich zweimal überlegen, auf dieses Pferd zu setzen.
Aubrey McIntosh
2003-11-16 15:55:50 UTC
Permalink
Post by Eric
Hey,
Thank you! Now i understand how to do it in blackbox.
Just one last question... i am juz confused
is blackbox using the oberon language?? because we are supposed to use
the oberon language,,
if not, can u give me a simple application like that in system3??
btw,, wat is POW?? ive been told it is like blackbox??
I suspect that an assignment requires both a certain language and a
certain library. Probably the instructor wants to do a simple compile
of your project and run it with known data.

As to whether BlackBox is a different language, you have to get to the
definition of different. The C community has made changes to the
language that are extensive, and programs written in one C don't
compile in another. They say it is the same language with version
incompatibilities.

The Wirth language community takes the view that all the correct
programs, and all the compilers, of that language must work together.

So, there is a point of view that all the Wirth designed languages are
the same with minor version changes (from the C community viewpoint)
or the view that Pascal, Modula, Modula-2, Oberon, Oberon-2, and
BlackBox are all different languages. Wirth, the designer behind
them, chose different names and says they are different.

What should you do?

1. Read your syllabus. My student's seldom do. I put clues there
that they miss. I am hard-hearted when I am required to write a
syllabus and they don't read it. Look especially for items that point
you to a private ftp server, or a CD available from your bookstore, or
a directory on the lab's computers.

2. Ask your instructor. In an American university, he would want you
to ask in class so that everyone has a chance to get it. In his
answer, he may also tell you to read the syllabus.

3. Make your own choice. This puts you in conflict with 1 and 2.
When I work with the Oberon languages, I make assignments in V4
oberon. I am very specific about this. The reason is that the System
3, BlueBottle, and BlackBox are not as "conceptually accessible" and
the projects don't get finished. From the Software Engineering point
of view, one of your required tasks is to simplify to the point that
you can deliver product on time.

Unless this is an entire semester project, or a very carefully crafted
set of homework assignments, you can't do that with BlackBox (Stan
Warford may well jump in here with new news)

Does anyone know an official public source for the Linz edition of V4?
I just looked at http://www.ssw.uni-linz.ac.at/Services/Downloads/#oberon
to verify that you could download the system from there. I did not
find it. That is the one I recommend. The Linz site refers back to
the ETH site, which only has BlueBottle and the current System 3
stuff. In my opinion, these have too complicated an interface for
beginners.

I have modified the Linz V4 release so that it runs from a proper
ISO-9660 CD. As this was the 60th CD image I ever burned, I call this
Oberon_60. I put the file system of that image at
http://www.jump.net/~vima/Oberon_60 in May 2001.

Put these files into ISO-9660 format (long file names, 1 dot,
additional dots replaced by "_", no lower case, no "." in directory
names) burn a cd, and it will run with no problem on all NT, 95, and
98 systems. You can run it from the CD if you have a public lab with
disk access restrictions.

If you have trouble saving files with Windows ME, do a google search
on this newsgroup. We discussed this a year ago. I don't know the
status of 2000 or XP on this issue. I can dig up the patched hex file
and make some changes to the web site, but not before your instructor
says that V4 is ok.
Chris Burrows
2003-11-16 23:26:00 UTC
Permalink
Post by Aubrey McIntosh
Does anyone know an official public source for the Linz edition of V4?
I just looked at
http://www.ssw.uni-linz.ac.at/Services/Downloads/#oberon
to verify that you could download the system from there. I did not
find it.
The ftp site is accessible via this link:

http://www.ssw.uni-linz.ac.at/Research/Projects/Oberon.html

Chris Burrows
CFB Software
http://www.cfbsoftware.com
Aubrey McIntosh
2003-11-18 14:57:22 UTC
Permalink
Post by Chris Burrows
Post by Aubrey McIntosh
Does anyone know an official public source for the Linz edition of V4?
I just looked at
http://www.ssw.uni-linz.ac.at/Services/Downloads/#oberon
to verify that you could download the system from there. I did not
find it.
http://www.ssw.uni-linz.ac.at/Research/Projects/Oberon.html
Chris Burrows
CFB Software
http://www.cfbsoftware.com
I found some old notes in my file Administrator.Guide.Text on the CD image.

The information in it updates to
ftp://ftp.ssw.uni-linz.ac.at/pub/Oberon/Windows/win95-NT

I don't see any link-path to this on the web page(s).
Eric
2003-11-17 04:16:52 UTC
Permalink
Hi,
I really do have a major project which needs to implement the Oberon
language.
That is why I am asking if Blackbox uses the Oberon language or not..
Well if it is not then i will use V4. What is the installation steps
for V4?
I cant seem to understand the procedures below..
Is it ok for you to write the installation procedures in simpler
words??
I also use 2000 so if there are patches to be downloaded do tell me...

Thanks alot!!
Post by Aubrey McIntosh
Post by Eric
Hey,
Thank you! Now i understand how to do it in blackbox.
Just one last question... i am juz confused
is blackbox using the oberon language?? because we are supposed to use
the oberon language,,
if not, can u give me a simple application like that in system3??
btw,, wat is POW?? ive been told it is like blackbox??
I suspect that an assignment requires both a certain language and a
certain library. Probably the instructor wants to do a simple compile
of your project and run it with known data.
As to whether BlackBox is a different language, you have to get to the
definition of different. The C community has made changes to the
language that are extensive, and programs written in one C don't
compile in another. They say it is the same language with version
incompatibilities.
The Wirth language community takes the view that all the correct
programs, and all the compilers, of that language must work together.
So, there is a point of view that all the Wirth designed languages are
the same with minor version changes (from the C community viewpoint)
or the view that Pascal, Modula, Modula-2, Oberon, Oberon-2, and
BlackBox are all different languages. Wirth, the designer behind
them, chose different names and says they are different.
What should you do?
1. Read your syllabus. My student's seldom do. I put clues there
that they miss. I am hard-hearted when I am required to write a
syllabus and they don't read it. Look especially for items that point
you to a private ftp server, or a CD available from your bookstore, or
a directory on the lab's computers.
2. Ask your instructor. In an American university, he would want you
to ask in class so that everyone has a chance to get it. In his
answer, he may also tell you to read the syllabus.
3. Make your own choice. This puts you in conflict with 1 and 2.
When I work with the Oberon languages, I make assignments in V4
oberon. I am very specific about this. The reason is that the System
3, BlueBottle, and BlackBox are not as "conceptually accessible" and
the projects don't get finished. From the Software Engineering point
of view, one of your required tasks is to simplify to the point that
you can deliver product on time.
Unless this is an entire semester project, or a very carefully crafted
set of homework assignments, you can't do that with BlackBox (Stan
Warford may well jump in here with new news)
Does anyone know an official public source for the Linz edition of V4?
I just looked at http://www.ssw.uni-linz.ac.at/Services/Downloads/#oberon
to verify that you could download the system from there. I did not
find it. That is the one I recommend. The Linz site refers back to
the ETH site, which only has BlueBottle and the current System 3
stuff. In my opinion, these have too complicated an interface for
beginners.
I have modified the Linz V4 release so that it runs from a proper
ISO-9660 CD. As this was the 60th CD image I ever burned, I call this
Oberon_60. I put the file system of that image at
http://www.jump.net/~vima/Oberon_60 in May 2001.
Put these files into ISO-9660 format (long file names, 1 dot,
additional dots replaced by "_", no lower case, no "." in directory
names) burn a cd, and it will run with no problem on all NT, 95, and
98 systems. You can run it from the CD if you have a public lab with
disk access restrictions.
If you have trouble saving files with Windows ME, do a google search
on this newsgroup. We discussed this a year ago. I don't know the
status of 2000 or XP on this issue. I can dig up the patched hex file
and make some changes to the web site, but not before your instructor
says that V4 is ok.
WLad
2003-11-17 07:37:22 UTC
Permalink
Post by Eric
Hi,
I really do have a major project which needs to implement the Oberon
language.
That is why I am asking if Blackbox uses the Oberon language or not..
No, It doesn't. And there is NO such language "BlackBox". There is
Component Pascal language. It is different language. It has similar
syntax but it doesn't semantics and sense of declarations. Suffice it to
say about diff sense of default methode "overridity" rule.
Aubrey McIntosh
2003-11-17 13:24:18 UTC
Permalink
***@yahoo.com.hk (Eric) wrote in message news:<***@posting.google.com>...

...
Post by Eric
Well if it is not then i will use V4. What is the installation steps
for V4?
I cant seem to understand the procedures below..
Is it ok for you to write the installation procedures in simpler
words??
1. Download http://www.jump.net/~vima/Oberon_60/Oberon_60.ZIP (3.6 Mb)
2. Extract to some empty directory, e.g., %programfiles%\compilers\OberonV4
3. Double click on .\setup\set_up.exe
Ulrich
2003-11-17 22:44:24 UTC
Permalink
Post by Aubrey McIntosh
1. Download http://www.jump.net/~vima/Oberon_60/Oberon_60.ZIP (3.6 Mb)
2. Extract to some empty directory, e.g., %programfiles%\compilers\OberonV4
3. Double click on .\setup\set_up.exe
This kind of (perfect) distribution comes with sources. But I didn't
find the source of the executable. Is it there or anywhere else?

BTW, I completely agree with your assessment of the different
development environments: V4 is sufficiently powerful and easily enough
to understand.
Aubrey McIntosh
2003-11-18 14:41:13 UTC
Permalink
Post by Ulrich
Post by Aubrey McIntosh
1. Download http://www.jump.net/~vima/Oberon_60/Oberon_60.ZIP (3.6 Mb)
2. Extract to some empty directory, e.g., %programfiles%\compilers\OberonV4
3. Double click on .\setup\set_up.exe
This kind of (perfect) distribution comes with sources. But I didn't
find the source of the executable. Is it there or anywhere else?
BTW, I completely agree with your assessment of the different
development environments: V4 is sufficiently powerful and easily enough
to understand.
EUROPEAN

Thanks. I worked a long time to make this distribution good.

Oberon.c was not officially distributed. I have had good luck
requesting items when I can articulate a need.

It may be easier to move the loader to BlackBox than work more with
oberon.c

Perhaps this CD can inspire more original work.


TEXAN

Thank you now. I put a lot of effort into making a friendly
distribution with strong separation between my modifications and the
originals, and a minimum installation footprint. The setup opening
environment has been field tested with hundreds of general chemistry
students, and heavily influenced by their comments.

I always wanted system source from the machine up. Native, V4, and
AOS are all close, but they all have missing modules.

If I remember correctly, :-)

There is a program called oberon.c that appears to be a C language
translation of Modules.Mod and it does follow the logic from the
published book. Oberon.hex, in turn, is the output of BootLinker.Mod
operating on System.Mod. I have spotted variations of oberon.c over
the past decade and attempted to keep an archive, so that I would have
source as deeply as possible. At least some version of oberon.c (did
once) interoperate between V4 and S3.

One version was released with an early version of S3, when a
confidential source tree was accidentally published for 24 hours. I
was requested, and agreed, not to further release anything from that
source tree. Another version was released to me when I asked by
email.

Anyway, I put the oberon.c into the "don't re-release" directory.

I really wasn't set up to use C. I spent a lot of time installing
lcc, and the cygnus environment. On the SPARC and the Silicon
Graphics O2, things went well. Windows was harder, and after an
enormous time, I abandoned the lcc installation on windows. I also
used the WinLcc Windows adaptation, J. Navia, which gave the best
results, but had some aspects of a captive environment. I eventually
got the Microsoft C compiler, but this is not portable over to unixes.

In today's climate, I would evaluate the solution of using BlackBox to
make the boot environment. The tradeoff there is having the startup
environment be in a Wirth family language vs the prospect of future
restricted availability of the BlackBox compiler. With the very nifty
BlackBox feature of having a distribution file system embedded within
the .exe file, Oberon.hex and oberon.ini can be hidden away and not
misplaced.

The Oberon_60 was intended to move toward a bare, multi-machine
ISO-9660 release, at a time before the Native CD came out and personal
computer usually meant Mac or Amiga. I thought it could be made to
boot and run on the CD-I environment, and distribute customized
chemistry exams. This would be, perhaps, 5 exams per chapter per
student (5 offerings) over 5,000 students (one semester at UT) over 15
chapters, and 1 Kb per document. 375 Mb. The production cost would
be about $1.50 and would compete on both cash and convenience basis
with custom printed paper. ($80,000 per semester printing costs...)
Network impact would be minimal, only corrections and extensions would
be just-in-time bandwidth demand. Oberon in front of 50,000 people
over a decade.

This was before streaming video or even HTML had caught on. Imagine a
world where you would look for OTTP://source.oberon.ethz.ch/Hello.Mod
and get example code, that is MD5 signed, stored on your file system.
Of course, I would put Sysiphus in the document. If the .Mod is
absent, the signed .Obj is (down)loaded. We were so close, but
cooperate like a "heard of cats."

Now go read http://www.nsf.gov/cgi-bin/getpub?nsf01160 There is fresh
opportunity.

----
Ulrich
2003-11-19 22:36:59 UTC
Permalink
Post by Aubrey McIntosh
EUROPEAN
Thanks. I worked a long time to make this distribution good.
Oberon.c was not officially distributed. I have had good luck
requesting items when I can articulate a need.
It may be easier to move the loader to BlackBox than work more with
oberon.c
Perhaps this CD can inspire more original work.
TEXAN
Thank you now. I put a lot of effort into making a friendly
distribution with strong separation between my modifications and the
originals, and a minimum installation footprint.
Two highly desirable goals.
Post by Aubrey McIntosh
I always wanted system source from the machine up. Native, V4, and
AOS are all close, but they all have missing modules.
It *is* important to have full control over the whole system and to be
able to fully exploit the advantages of this simple and powerful system.
Post by Aubrey McIntosh
If I remember correctly, :-)
There is a program called oberon.c that appears to be a C language
translation of Modules.Mod and it does follow the logic from the
published book. Oberon.hex, in turn, is the output of BootLinker.Mod
operating on System.Mod. I have spotted variations of oberon.c over
the past decade and attempted to keep an archive, so that I would have
source as deeply as possible. At least some version of oberon.c (did
once) interoperate between V4 and S3.
This seems to be similar on UNIX where oberon.c is freely distributed
and acts as initial loader and minimal bridge between the Oberon system
and the operating system. There is a counterpart of Oberon.hex called
Oberon.Boot which is created by BootLinker.Link.
Post by Aubrey McIntosh
One version was released with an early version of S3, when a
confidential source tree was accidentally published for 24 hours. I
was requested, and agreed, not to further release anything from that
source tree. Another version was released to me when I asked by
email.
Would you disclose a directory listing of this confidential source tree?
Post by Aubrey McIntosh
Anyway, I put the oberon.c into the "don't re-release" directory.
Which is obviously missing from the distribution ...
Post by Aubrey McIntosh
I really wasn't set up to use C. I spent a lot of time installing
lcc, and the cygnus environment. On the SPARC and the Silicon
Graphics O2, things went well. Windows was harder, and after an
enormous time, I abandoned the lcc installation on windows. I also
used the WinLcc Windows adaptation, J. Navia, which gave the best
results, but had some aspects of a captive environment. I eventually
got the Microsoft C compiler, but this is not portable over to unixes.
May I conclude that the oberon.c which is the base for starting up the
Oberon System for Windows can only be compiled by Microsoft's C
compiler? Did you succeed in getting an identical binary? If not: did
your binary work? Did you change oberon.c or do you still use the
original version? How many lines of c text contains oberon.c?
Post by Aubrey McIntosh
In today's climate, I would evaluate the solution of using BlackBox to
make the boot environment. The tradeoff there is having the startup
environment be in a Wirth family language vs the prospect of future
restricted availability of the BlackBox compiler. With the very nifty
BlackBox feature of having a distribution file system embedded within
the .exe file, Oberon.hex and oberon.ini can be hidden away and not
misplaced.
This feature sounds tempting. OTOH there are many files in the Oberon
System that mustn't be misplaced and which aren't and shouldn't be
included in Oberon.exe.
It may not be easy to decide which dependency is better. If new
generations of Windows require new compilers it may be easier to get a C
compiler. If oberon.c is large and needs a lot of development it is
definitely an advantage to have an oberon.Mod instead.
Post by Aubrey McIntosh
The Oberon_60 was intended to move toward a bare, multi-machine
ISO-9660 release, at a time before the Native CD came out and personal
computer usually meant Mac or Amiga. I thought it could be made to
boot and run on the CD-I environment, and distribute customized
chemistry exams. This would be, perhaps, 5 exams per chapter per
student (5 offerings) over 5,000 students (one semester at UT) over 15
chapters, and 1 Kb per document. 375 Mb. The production cost would
be about $1.50 and would compete on both cash and convenience basis
with custom printed paper. ($80,000 per semester printing costs...)
Network impact would be minimal, only corrections and extensions would
be just-in-time bandwidth demand. Oberon in front of 50,000 people
over a decade.
While I'm not sure that these people would use the Oberon System for
anything else (and I therefore doubt that this would really spread
Oberon) I like this idea very much from an ergonomical and ecological
point of view.

What do you mean with CD-I environment exactly?

Even with now available NO and Bluebottle bootable CDs I like the idea
of a minimum Oberon System which can be booted on computers with
different CPU instruction sets.
Post by Aubrey McIntosh
This was before streaming video or even HTML had caught on. Imagine a
world where you would look for OTTP://source.oberon.ethz.ch/Hello.Mod
and get example code, that is MD5 signed, stored on your file system.
Of course, I would put Sysiphus in the document. If the .Mod is
absent, the signed .Obj is (down)loaded. We were so close, but
cooperate like a "heard of cats".
I still think that it would be a major advantage for the Oberon
community to be able to use their unique system capabilities and file
formats instead of using only HTTP and HTML.
If there were a simple installation procedure or bootable CD for some
major computer system types like Wintel, MacOS X, Linux (Intel, SPARC
etc.) and for a few more operating systems information about the Oberon
System and new Modules could be distributed in a proprietary way.
Post by Aubrey McIntosh
Now go read http://www.nsf.gov/cgi-bin/getpub?nsf01160 There is fresh
opportunity.
Franz Michael from the university of California in Irvine gave an
invited talk at the last JMLC about that subject and how his group tries
to solve that problem.
Aubrey McIntosh
2003-11-21 16:22:49 UTC
Permalink
Post by Ulrich
Post by Aubrey McIntosh
There is a program called oberon.c that appears to be a C language
translation of Modules.Mod and it does follow the logic from the
published book. Oberon.hex, in turn, is the output of BootLinker.Mod
operating on System.Mod. I have spotted variations of oberon.c over
the past decade and attempted to keep an archive, so that I would have
source as deeply as possible. At least some version of oberon.c (did
once) interoperate between V4 and S3.
This seems to be similar on UNIX where oberon.c is freely distributed
and acts as initial loader and minimal bridge between the Oberon system
and the operating system. There is a counterpart of Oberon.hex called
Oberon.Boot which is created by BootLinker.Link.
The versions of Oberon.c that I have online mention JT for the SPARC,
and mh and ejz for Windows. I spent a while looking for an email for
mh, but did not find it. I assume ejz is visible in the archives.

All of these appear to be more or less hand written (translated)
programs that follow Modules.Mod very closely. They read Oberon.hex,
put it into memory, apply the fixups, link one or two procedure
variables in the Kernel to a library, then transfer control to Oberon.

I happened to wonder yesterday if it would be easier to write a
program Hex2Exe.Mod that would perform Oberon.hex -> Oberon.Exe.
Ulrich
2003-11-21 22:28:01 UTC
Permalink
Post by Aubrey McIntosh
The versions of Oberon.c that I have online mention JT for the SPARC,
and mh and ejz for Windows. I spent a while looking for an email for
mh, but did not find it. I assume ejz is visible in the archives.
Do you need an email address of mh (Hausner Matthias)?
What do you mean by "ejz is visible in the archives"?
Post by Aubrey McIntosh
All of these appear to be more or less hand written (translated)
programs that follow Modules.Mod very closely. They read Oberon.hex,
put it into memory, apply the fixups, link one or two procedure
variables in the Kernel to a library, then transfer control to Oberon.
That's exactly what happens.
Post by Aubrey McIntosh
I happened to wonder yesterday if it would be easier to write a
program Hex2Exe.Mod that would perform Oberon.hex -> Oberon.Exe.
It seems that I don't understand this idea not quite well. So far I
regard Oberon.hex and Oberon.Exe as very different parts of the startup
up process. I don't see how Oberon.hex could be converted to Oberon.Exe.
Eric
2003-11-18 01:13:37 UTC
Permalink
Hi,
Ive already installed it... its like system3 but where are the tools
and stuff??
Just like with the blackbox can anyone give me some applications
especially in reading input...
thats all thanks
Post by Aubrey McIntosh
...
Post by Eric
Well if it is not then i will use V4. What is the installation steps
for V4?
I cant seem to understand the procedures below..
Is it ok for you to write the installation procedures in simpler
words??
1. Download http://www.jump.net/~vima/Oberon_60/Oberon_60.ZIP (3.6 Mb)
2. Extract to some empty directory, e.g., %programfiles%\compilers\OberonV4
3. Double click on .\setup\set_up.exe
Aubrey McIntosh
2003-11-18 16:25:38 UTC
Permalink
Post by Eric
Hi,
Ive already installed it... its like system3 but where are the tools
and stuff??
Just like with the blackbox can anyone give me some applications
especially in reading input...
thats all thanks
EUROPEAN
The file MarkToAscii.Mod gives examples of I/O. Application to
current discussions of using CVS with Oberon are evident. The
Oberon_60 environment is self contained for this example, and targeted
to a complete beginner. Students can read the instructions and
proceed without additional help.


TEXAN
Perhaps an instructor would like to shadow Eric's efforts and
comment on "classroom friendly" aspects.

The program MarkToAscii.Mod, that you can read in your newly installed
Oberon_60 V4 instructional environment, will read selected text, and
append a human readable and editable list of fonts, colors, and run
lengths to any Text.

Following the instructions given in Overview.Text, see if you can type
the name MarkToAscii.Mod in the viewer named "Personal.Log" and
successfully open it. Then, again following the instructions in
Overview.Text, scroll down the MarkToAscii.Mod source until you get to
the end of the program, before the start of the CVS header.

The paragraphs and the LinkElems of Overview.Text were crafted so that
a completely new user can read Overview.Text and another text in the
user track on a 1024x768 screen, if they are careful and very
deliberate. Don't try to skip ahead in the Overview, this operating
system is very modern and you will end up trying to use an obsolete
idea.

While experienced Oberon users can do this reflexively in 3 to 5
seconds, you may have up to 5 minutes of frustration. Persist. I
have had hundreds of students work with these exact instructions, and
I verified them in a custom V4 installation today before I typed this.

A companion command in MarkToAscii will take the text and the list,
and restore the "Look" of the text.

There is an ongoing discussion as to the feasibility of doing this on
the oberon email distribution list. They are convinced it can be
done.

When applied to a snippet of text taken from Overview.Text, the output
will appear as below.

See if you can make the color and font re-appear, then describe the
appearance of the word "font."


Test input starts at beginning of next line. -->
Changing Documents.
At the most simple level, Oberon presents you with electric paper.
You can place the caret where you wish to make changes. New
characters that you type appear there. When you backspace, items are
removed.

It is also possible copy text, attributes such as color, font, and
offset and elements such as tables, menu items, and hypertext marks.
You can read this section in a later computer lab



Syntax10.Scn.Fnt 15 len 1
Syntax10b.Scn.Fnt 15 len 19
Syntax10.Scn.Fnt 15 len 263
Syntax10.Scn.Fnt 8 len 7
Syntax10.Scn.Fnt 15 len 1
Times14b.Scn.Fnt 15 len 2
Times14i.Scn.Fnt 15 len 1
Times14b.Scn.Fnt 15 len 1
Syntax10b.Scn.Fnt 15 len 2
Syntax10.Scn.Fnt 15 len 6
Syntax10.Scn.Fnt 8 len 1
Syntax10.Scn.Fnt 7 len 1
Syntax10.Scn.Fnt 15 len 118
~
Eric
2003-11-17 09:44:32 UTC
Permalink
Hi,

As a matter of fact I do have a project on Oberon. My teacher says
any compiler using the oberon language will do. So i think V4 would do
if blackbox is not using oberon. Can u tell all the needed
installation steps for V4??
List in simple terms pls so that i can understand thanks
Post by Aubrey McIntosh
Post by Eric
Hey,
Thank you! Now i understand how to do it in blackbox.
Just one last question... i am juz confused
is blackbox using the oberon language?? because we are supposed to use
the oberon language,,
if not, can u give me a simple application like that in system3??
btw,, wat is POW?? ive been told it is like blackbox??
I suspect that an assignment requires both a certain language and a
certain library. Probably the instructor wants to do a simple compile
of your project and run it with known data.
As to whether BlackBox is a different language, you have to get to the
definition of different. The C community has made changes to the
language that are extensive, and programs written in one C don't
compile in another. They say it is the same language with version
incompatibilities.
The Wirth language community takes the view that all the correct
programs, and all the compilers, of that language must work together.
So, there is a point of view that all the Wirth designed languages are
the same with minor version changes (from the C community viewpoint)
or the view that Pascal, Modula, Modula-2, Oberon, Oberon-2, and
BlackBox are all different languages. Wirth, the designer behind
them, chose different names and says they are different.
What should you do?
1. Read your syllabus. My student's seldom do. I put clues there
that they miss. I am hard-hearted when I am required to write a
syllabus and they don't read it. Look especially for items that point
you to a private ftp server, or a CD available from your bookstore, or
a directory on the lab's computers.
2. Ask your instructor. In an American university, he would want you
to ask in class so that everyone has a chance to get it. In his
answer, he may also tell you to read the syllabus.
3. Make your own choice. This puts you in conflict with 1 and 2.
When I work with the Oberon languages, I make assignments in V4
oberon. I am very specific about this. The reason is that the System
3, BlueBottle, and BlackBox are not as "conceptually accessible" and
the projects don't get finished. From the Software Engineering point
of view, one of your required tasks is to simplify to the point that
you can deliver product on time.
Unless this is an entire semester project, or a very carefully crafted
set of homework assignments, you can't do that with BlackBox (Stan
Warford may well jump in here with new news)
Does anyone know an official public source for the Linz edition of V4?
I just looked at http://www.ssw.uni-linz.ac.at/Services/Downloads/#oberon
to verify that you could download the system from there. I did not
find it. That is the one I recommend. The Linz site refers back to
the ETH site, which only has BlueBottle and the current System 3
stuff. In my opinion, these have too complicated an interface for
beginners.
I have modified the Linz V4 release so that it runs from a proper
ISO-9660 CD. As this was the 60th CD image I ever burned, I call this
Oberon_60. I put the file system of that image at
http://www.jump.net/~vima/Oberon_60 in May 2001.
Put these files into ISO-9660 format (long file names, 1 dot,
additional dots replaced by "_", no lower case, no "." in directory
names) burn a cd, and it will run with no problem on all NT, 95, and
98 systems. You can run it from the CD if you have a public lab with
disk access restrictions.
If you have trouble saving files with Windows ME, do a google search
on this newsgroup. We discussed this a year ago. I don't know the
status of 2000 or XP on this issue. I can dig up the patched hex file
and make some changes to the web site, but not before your instructor
says that V4 is ok.
jmdrake
2003-11-21 21:08:39 UTC
Permalink
Post by Eric
Hey,
Thank you! Now i understand how to do it in blackbox.
Just one last question... i am juz confused
is blackbox using the oberon language?? because we are supposed to use
the oberon language,,
Short answer - Component Pascal is so close to Oberon-2 for a "class
assignment" it should not matter.

Long answer : t Component Pascal is closer to Oberon-2 than "Active
Oberon" is to Oberon-2. (The latest offer from ETH has both an "Active
Oberon" and "Oberon-2" compiler and the object modules are
interchangeable. When the news came out about Active Oberon, Oberon
Microsystems (the company behind BlackBox) decided to release some
changes to the language that made it safer for component programming.
Since these caused slight incompatibilities to Oberon-2 they changed
the name to "Component Pascal". The probably chose that over
"Component Oberon" in the vain hopes of capturing all of those old
"Turbo Pascal" programmer out there. I say that because Component
Pascal is much closer to Oberon than it is to Pascal.
Post by Eric
if not, can u give me a simple application like that in system3??
btw,, wat is POW?? ive been told it is like blackbox??
POW is an Oberon-2 compiler that's nice for creating standalone
Windows programs. Yes, you can create standalone programs with
BlackBox or even System 3 for that matter, but it's more
straightforward (IMO) using POW. But then with POW you lose out
on all of the nice "document centered interface" stuff that you
have with System 3, V4 and BlackBox.

System 3 does have some simple applications that come with it.
When you startup System 3 you can click the "Documentation"
link. From there you can go to "sample programs". Also you
can find sample programs if you follow the "The Oberon Companion"
link. That's an online book on using and programming Oberon
System 3.

Regards,

John M. Drake
t***@not
2003-11-16 08:58:24 UTC
Permalink
Post by Eric
What i want is for it to be displayed in the system log???
Is it possible??
If not, how do i create textmodels??
btw, im juz a beginner
This forum caters for many 'flavours' of oberon.
You should always mention which one you are talking about.
I'm guessing that you are refering to Sys3 (ETH) ?
In that case there exists the file: Hello.Mod
which tells all and looks like this:--

MODULE Hello;
IMPORT Out;

PROCEDURE World*;
BEGIN
Out.String("Hello, world!"); Out.Ln
END World;

END Hello.

(*
0. Compile the program by setting the star marker into this text
with F1 and middle click the command Compiler.Compile *

1. Middle click the command Hello.World
(This displays the text "Hello, world!" in the System.Log Viewer).

2. Change the string in the program to "Here I am".

3. Compile the program as in step 0.

4. Middle click the command Hello.World
(This displays the text "Hello, world!" again).

5. Middle click + left interclick the command Hello.World to load the new
version of module Hello (should display the new string).

6. Note that the generated output is an Oberon text that can be edited,
stored or loaded exactly as this program text can be.

Hello.World

System.Free Hello ~
*)

== Chris Glur.

PS. as you see it writes to System.Log
NB. "system log" is different from "System.Log".

As you become a seasoned user, you won't type "system log",
in fact you won't TYPE; you will just look at the viewer's nameplate,
and THINK of the seen name appearing at the current position in your
text (eg. email), and your hand will move to copy the nameplate to
the required position - like a pianist looks at the music score, and the
approriate cord just jumps out of the piano.
Loading...