Heater
Posts: 12078
Joined: Tue Jul 17, 2012 3:02 pm

Re: Is ARM doomed?

Sat Apr 06, 2019 5:56 pm

Interesting idea. I'm not savvy enough about floats to say what is a good idea when it comes to fluffiness and the epsilon problem.

I get the feeling that those who know what they are doing try to arrange their algorithms such that rounding errors cancel or get averaged rather than accumulate. One needs to know where the problems may be on a case by case basis.

Heater
Posts: 12078
Joined: Tue Jul 17, 2012 3:02 pm

Re: Is ARM doomed?

Mon Apr 08, 2019 5:56 pm

stuartiannaylor,
I have no idea why the OP gets that idea.
That would be me. The idea comes from the articles I linked to in my opening post here.

"Can Arm Survive RISC-V Challenge?": https://www.eetimes.com/author.asp?sect ... id=1334306#
"SiFive Sees Big Year for RISC-V": https://www.eetimes.com/document.asp?doc_id=1334309
"https://hackaday.com/2019/02/14/new-par ... t-dollars/

The idea also stems from my reading around how Nvidia is adopting RISC V for use in their GPUs, Western Digital is adopting it for their storage products, there are many Chinese start ups and others starting out with RISC V, the Indian government is investing heavily into RISC V chip development. There are some very big names as members of the RISC V Foundation.

As I said above, I don't see ARM being doomed anytime soon. But they might miss out on a lot of the burgeoning IoT device market. They might also miss out on the server market they are chasing.
It is interesting though as rather than doomed maybe we should say is it no longer exciting and boring as it emerges into main stream computing.
It's not all about exciting vs boring. There are very practical and economic reasons why ARM may be challenged by RISC V.

timrowledge
Posts: 1255
Joined: Mon Oct 29, 2012 8:12 pm
Location: Vancouver Island
Contact: Website

Re: Is ARM doomed?

Mon Apr 08, 2019 7:36 pm

ejolson wrote:
Sat Apr 06, 2019 3:22 pm
stuartiannaylor wrote:
Sat Apr 06, 2019 10:51 am
As you have noted there is plenty of doom to go around. If only I could find my Byte magazine

Image

I could read about all the advances that are yet to come.
I don't have time to write a tutorial - and to be honest this isn't a thread where I should - but if anyone is interested in learning a bit about Smalltalk, you could do much worse than finding a copy of that Byte august 1981 issue that has this magnificent cover.
Of course, should you not be an owner of an entire run of Byte (tut-tut!) then you can find it online for free at https://archive.org/stream/byte-magazin ... k#mode/2up
In fact the whole run of Byte is there if you dig around.

There are also a lot of (again, freely downloadable) books at http://stephane.ducasse.free.fr/FreeBooks.html and for a quick read to get the idea, try perhaps 'A little Smalltalk' or 'A taste of Smalltalk'. There's even a couple that I had a hand in writing.
Making Smalltalk on ARM since 1986; making your Scratch better since 2012

timrowledge
Posts: 1255
Joined: Mon Oct 29, 2012 8:12 pm
Location: Vancouver Island
Contact: Website

Re: Is ARM doomed?

Mon Apr 08, 2019 8:00 pm

Heater wrote:
Thu Apr 04, 2019 8:23 pm

Now, about your benchFib example above:

1) Could you explain what all that line noise means? Perhaps it's me but it's unintelligible. If I squint hard I can just about make out a recursive fibo in there.

2) How do I run it? It fails for me:

Code: Select all

$ cat fibo.st
benchFib  "Handy send-heavy benchmark"
        "(result // seconds to run) = approx calls per second"
        " | r t |
          t := Time millisecondsToRun: [r := 26 benchFib].
          (r * 1000) // t"
        "138000 on a Mac 8100/100 in 1996. 19,000,000 on a Pi3 in 2018"
        ^ self < 2
                ifTrue: [1]
                ifFalse: [(self-1) benchFib + (self-2) benchFib + 1]

OK, that was a simple paste of code from a Smalltalk code browser. In the proper tool it looks like this -
Screen Shot 2019-04-08 at 12.38.49 PM.png
Screen Shot 2019-04-08 at 12.38.49 PM.png (104.83 KiB) Viewed 1678 times
See how it is part of the code base for the class Integer.
The parts within double quotes are comments, as I imagine you realised. What you likely wouldn't spot is that those comment can be executable code- just select them and evaluate to run an example, for example. so if I were to select the

Code: Select all

  " | r t |
          t := Time millisecondsToRun: [r := 26 benchFib].
          (r * 1000) // t"
*within the double-quotes* and use the menu to 'print it' then after a moment I would see the result pasted in at the end of my prior selection.
As to the code, it's a simple recursion. If we run 26 benchFib we start with finding the benchFib method - this code - and 26 is 'self'. So we subtract -1 (ie 25) for the first recursion, and subtract 2 (ie 24) for the second, then add the two results and add 1.
It just does the obvious recursion from then on; 25 benchFib, 24 benchFib, 23 benchFib...
The more interesting part is the unusual boolean test/iftrue/iffalse stuff. I already mentioned that when we start 'self' is the integer that got sent the benchFib message, so

Code: Select all

self < 2
sends the < message to 26 (NB this is *not* an operator, but a plain message send) , with the argument 2. Since 26 is not less than 2 in any arithmetic paradigm I'm used to, it's not going to surprise anyone that the result is a boolean object standing for 'false'.
This is where it gets really cool because we now send the message ifFalse:ifTrue: to that boolean.

Code: Select all

   ifTrue: [1]
                ifFalse: [(self-1) benchFib + (self-2) benchFib + 1]
Again, *not* an operator, *not* a language imposed control structure, but just a message sent that will result in a method getting executed. A boolean that is false will simply ignore the argument after the 'ifTrue:' bit because why would we care about it if the object is false? Similarly when we recurse down far enough that 'self' has reached 1, the result of the < is going to be true and thus the argument to tthe 'ifFalse:' bit will be ignored. This is how we can make our own control structure equivalents without having to modify the languge definition or the compiler. This is real power.
Lastly for now, the ^ is 'return the following object'
Making Smalltalk on ARM since 1986; making your Scratch better since 2012

jahboater
Posts: 4173
Joined: Wed Feb 04, 2015 6:38 pm

Re: Is ARM doomed?

Mon Apr 08, 2019 11:50 pm

timrowledge wrote:
Mon Apr 08, 2019 7:36 pm
There are also a lot of (again, freely downloadable) books at http://stephane.ducasse.free.fr/FreeBooks.html and for a quick read to get the idea, try perhaps 'A little Smalltalk' or 'A taste of Smalltalk'. There's even a couple that I had a hand in writing.
GNU Smalltalk (on the Pi) manual is here:-
https://www.gnu.org/software/smalltalk/manual/gst.html

timrowledge
Posts: 1255
Joined: Mon Oct 29, 2012 8:12 pm
Location: Vancouver Island
Contact: Website

Re: Is ARM doomed?

Tue Apr 09, 2019 1:06 am

Gnu Smalltalk is bit ... limited. Download Squeak from www.squeak.org instead. GST is missing the tools and environment that makes a good language a great system. Generally speaking nobody would choose to draw digital images by using a hex editor; why do the equivalent?
Oh, almost forgot - I strongly advise against any attempt at ‘apt-get install squeak’ or similar since the Debian system people have so very effectively messed up that package for decades. They actually changed code to break things and didn’t bother to tell us. Not nice.
Making Smalltalk on ARM since 1986; making your Scratch better since 2012

User avatar
mahjongg
Forum Moderator
Forum Moderator
Posts: 11723
Joined: Sun Mar 11, 2012 12:19 am
Location: South Holland, The Netherlands

Re: Is ARM doomed?

Sat Apr 13, 2019 8:34 pm

stuartiannaylor wrote:
Sat Apr 06, 2019 10:51 am
As you have noted there is plenty of doom to go around. If only I could find my Byte magazine

Image

I could read about all the advances that are yet to come.
Byte Volume 6, number 8, I found it half a meter into the shelf space for my Byte collection.

So yes, I have it, the smalltalk issue.
features:
page 14, introducing the Smalltalk-80 system

with an introduction from Carl Helmers.

and other articles starting on page 36, 74 (the first time I read about object-oriented software anywhere), 90, 147, 168 (about a "graphics kernel), 230, 286, 300, 322, 348 (is smalltalk suitable for children?) 369, and 378.

I loved, and still love, Byte magazine.

I'm going to re read this issue of it. :P

If I'm not mistaken you can also find a copy of it online, perhaps on the wayback website, but a paper copy is much nicer.... 8-)

Heater
Posts: 12078
Joined: Tue Jul 17, 2012 3:02 pm

Re: Is ARM doomed?

Sat Apr 13, 2019 9:00 pm

Smalltalk may well have been doomed since that BYTE article. As were many other half baked ideas.

However that is not much to do with the impending doom of ARM and the RISC V. The subject of this thread.

But all is not lost. Why not Smalltalk on RISC V? I have one here just waiting.

So Tim, how do I get that simple fibo in Smalltalk to run on a machine with no graphics?

User avatar
Gavinmc42
Posts: 2882
Joined: Wed Aug 28, 2013 3:31 am

Re: Is ARM doomed?

Sun Apr 14, 2019 12:04 am

So Tim, how do I get that simple fibo in Smalltalk to run on a machine with no graphics?
Serial console?
I'm dancing on Rainbows.
Raspberries are not Apples or Oranges

Heater
Posts: 12078
Joined: Tue Jul 17, 2012 3:02 pm

Re: Is ARM doomed?

Sun Apr 14, 2019 12:30 am

Gavinmc42,
Serial console?
Yes of course. But please, try it yourself before making that suggestion.

Using the only Smalltalk I have here, GNU Smalltalk, Tim's Fibonacci code fails to run from the command line, giving some weird error. I hesitate to call it a "syntax error" as Smalltalk has no syntax as such.

If it has any semantics I have not found them yet. :)

User avatar
Gavinmc42
Posts: 2882
Joined: Wed Aug 28, 2013 3:31 am

Re: Is ARM doomed?

Sun Apr 14, 2019 12:55 am

Yes of course. But please, try it yourself before making that suggestion.
Sorry, just assumed if you had made a RISC-V on a FPGA the first thing would have been adding a UART for serial console.

Just found out on Friday that making GCC for RISC-V on my Pi probably did not kill my 32GB uSD.
It has a crack across it so it probably got bent and broken.
So I might give making Pi based RISC-V tools another crack ;)

I think there was an open source framebuffer GPU now?
I'm dancing on Rainbows.
Raspberries are not Apples or Oranges

Heater
Posts: 12078
Joined: Tue Jul 17, 2012 3:02 pm

Re: Is ARM doomed?

Sun Apr 14, 2019 7:43 am

Gavinmc42,
...just assumed if you had made a RISC-V on a FPGA the first thing would have been adding a UART for serial console
Indeed I did. My RISC V experiment is here:
https://github.com/ZiCog/xoro

That is Clifford Wolf's picorv32 RISC V core wrapped around with my own peripherals. The UART is here:
https://github.com/ZiCog/xoro/blob/mast ... Receiver.v
https://github.com/ZiCog/xoro/blob/master/rtl/uartTx.v

That AsyncReceiver is verilog code generated from HDL in Scala:
https://github.com/ZiCog/xoroshiro/blob ... iver.scala

That runs at 100MHz on my DE0 Nano FPGA board. I'm working on my own implementation of a RISC V core in Scala here:
https://github.com/ZiCog/sodor-spinal
https://github.com/ZiCog/sodor-spinal/b ... odor.scala

Which is not quite a running CPU yet...

No Smalltalk, or anything much, on there yet. I have yet to make an interface to the 32MM SDRAM on that board. But if anyone has a Smalltalk that can be built to run in 64K bytes that would be great. Currently I'm looking at putting Javascript on it: http://jerryscript.net/

I was using GNU SmallTalk under Linux on my PC. Can't get that fibo code to run. Can't find any clue as to how to fix it around the net.
I think there was an open source framebuffer GPU now?
I don't know about GPU's but I believe people are working on open GPU's. However getting a VGA display up from FPGA is pretty common.

timrowledge
Posts: 1255
Joined: Mon Oct 29, 2012 8:12 pm
Location: Vancouver Island
Contact: Website

Re: Is ARM doomed?

Sun Apr 14, 2019 6:45 pm

Heater wrote:
Sat Apr 13, 2019 9:00 pm
Smalltalk may well have been doomed since that BYTE article. As were many other half baked ideas.
Serously? You're going with bizarre insults now? I had hoped you were better -or at least funnier - that that.
Heater wrote:
Sat Apr 13, 2019 9:00 pm
But all is not lost. Why not Smalltalk on RISC V? I have one here just waiting.
It would be entirely possible; we've implemented Smaltalk on pretty much any architecture you can imagine over the years. 6502? Yup, a colleague did that in around 1982. Z80? Not completely sure on that one I have to admit. 8080? Yup. IBM 360; yup. Obviously all the intel 8086 onwards, motoroal 68000 onwards, ARM since before it was publically announced, Clipper, HP7000, powerpc, severa lexperimental cpus and on and on. So if RISC-VI is a reasonable cpu then it can be done. As long as there is a tolerable gcc-like C compiler you could do it yourseslf since the base Squeak VM has negligable cpu dependencies. More work to implement the dynamic translation, obviously. So far I see no urgent reason to worry about it.
Heater wrote:
Sat Apr 13, 2019 9:00 pm
So Tim, how do I get that simple fibo in Smalltalk to run on a machine with no graphics?
For a headless Squeak system I'd file out the code into a suitable .st file from a real computer, copy it across and run Squeak with a commandline naming that .st file.

For gst - what, you can't read a manual today? I don't use gst (and wouldn't in general because of the total clash between GPL and how a live coding image based system works) but the manual looks tolerably well written and lives at https://www.gnu.org/software/smalltalk/ ... x.html#Top

It *should* be able to read in standard Smalltalk syntax files like this -

Code: Select all

!Integer methodsFor: 'benchmarks' !
demoFib 

	" Time millisecondsToRun: [26 demoFib]."
	^ self < 2
		ifTrue: [1] 
		ifFalse: [(self-1) demoFib + (self-2) demoFib + 1]
! !
30 demoFib !
This should add the method demoFib to the code for the Integer class and then run 30 demoFib. I imagine gst will generally print a textual representation of the result back to your commandline or do something similar. If it uses different syntax for fileins you're on your own.
Making Smalltalk on ARM since 1986; making your Scratch better since 2012

User avatar
Paeryn
Posts: 2512
Joined: Wed Nov 23, 2011 1:10 am
Location: Sheffield, England

Re: Is ARM doomed?

Mon Apr 15, 2019 12:07 am

timrowledge wrote:
Sun Apr 14, 2019 6:45 pm

Code: Select all

!Integer methodsFor: 'benchmarks' !
demoFib 

	" Time millisecondsToRun: [26 demoFib]."
	^ self < 2
		ifTrue: [1] 
		ifFalse: [(self-1) demoFib + (self-2) demoFib + 1]
! !
30 demoFib !
This should add the method demoFib to the code for the Integer class and then run 30 demoFib. I imagine gst will generally print a textual representation of the result back to your commandline or do something similar. If it uses different syntax for fileins you're on your own.
GNU Smalltalk doesn't print anything unless told to so you would need to printNl the result to show it. Also the function doesn't generate Fibonacci numbers! What is that + 1 for? A Fibonacci number is the sum of the previous two Fibonacci numbers. Nor does it start correctly, after removing that +1 your version calculates F(0) = 1, F(1) = 1, F(2) = 2, F(3) = 3 whereas it should be F(0) = 0, F(1) = 1, F(2) = 1, F(3) = 2 (I'll let you off for incorrectly calculating negative values).

This updated version works in gst to print Fibonacci numbers from -10 to 10 (not written much in smalltalk and it was a long time ago, might not be the best way to write it)

Code: Select all

!Integer methodsFor: 'benchmarks' !
demoFib 

	" Time millisecondsToRun: [26 demoFib]."
	^ self negative
		ifTrue: [| absFib |
			absFib := self negated demoFib.
			self even
				ifTrue: [absFib negated]
				ifFalse: [absFib] ]
		ifFalse: [self < 2
			ifTrue: [self] 
			ifFalse: [(self-1) demoFib + (self-2) demoFib ] ]
! !
-10 to: 10 do: [:x | x demoFib printNl ] !
She who travels light — forgot something.

jahboater
Posts: 4173
Joined: Wed Feb 04, 2015 6:38 pm

Re: Is ARM doomed?

Mon Apr 15, 2019 1:23 am

It works! Thanks.

On the Pi Zero ...

Code: Select all

$ time gst fibo.st
"Global garbage collection... done"
46368

real	0m1.552s
user	0m1.433s
sys	0m0.076s

User avatar
Paeryn
Posts: 2512
Joined: Wed Nov 23, 2011 1:10 am
Location: Sheffield, England

Re: Is ARM doomed?

Mon Apr 15, 2019 1:51 am

All this talk of smalltalk reminds me of the language I was first introduced to, Logo on a BBC B, I think the school had a tutle wired up too which you could watch it draw the shapes on paper as well as the screen.

Was Logo a precursor to smalltalk or a cut down version?
She who travels light — forgot something.

Heater
Posts: 12078
Joined: Tue Jul 17, 2012 3:02 pm

Re: Is ARM doomed?

Mon Apr 15, 2019 3:28 am

timrowledge,
Serously? You're going with bizarre insults now? I had hoped you were better -or at least funnier - that that.
No insult intended. Perhaps my statement is a bit harsh there and not sounding as jovial as I would like. But it is somewhat serious and far from bizarre for the following reasons:

1) Having been in and around programming since the early 1980's I have never seen anyone using Smalltalk. It has never shown up in any project. It has ever asked if it's in my skill set for any employment opportunities.

2) As far as I know I have never used any program in Smalltalk. Nor has it been a dependency of anything I have ever installed.

3) Smalltalk does not show up on TIOBE or github language rankings.

So whilst obviously not doomed it simply does not show up on my radar. Contrast that to the fact that I have at least met one Cobol programmer and one Fortran programmer in real life.
It would be entirely possible; we've implemented Smaltalk on pretty much any architecture...
That sounds great. I might be tempted to try building a RISC V Smalltalk. There are RISC V targets for GCC and Clang/LLVM now a days. It would be nice to have some kind of working interactive system on my little RISC V experiments, I'm really not into the Forth idea.

By the way if Smalltalk runs on 8080 then it runs on Z80. Z80 is a super set of the instruction set, a majority of CP/M software only used 8080 instructions, the Z80 extensions were not really usable by compilers.
For gst - what, you can't read a manual today?
Perhaps I'm slow but I did spend a couple of hours perusing the gst manual and googling around trying to find a way to get that fibo to run with no luck. I did not have the time or inclination to sit down and start learning the language from scratch. Perhaps I will at some point.

With your suggestion it does at least run without error. But no output.

With Paeryn's suggestions it actually runs and produces the correct results.

Currently for me that Smalltalk looks like the "line noise" one gets when a serial baud rate is set wrong.

Code: Select all

!Integer methodsFor: 'benchmarks' !
...
-10 to: 10 do: [:x | x demoFib printNl ] !
Which makes me suspect I was not so slow when I failed to find the correct magic in short order. Clearly this is going to take more dedicate study.

Thanks for the help guys.

jahboater
Posts: 4173
Joined: Wed Feb 04, 2015 6:38 pm

Re: Is ARM doomed?

Mon Apr 15, 2019 3:48 am

To print the single value for fibo(24), the last line is just:

24 demoFib printNl !

I have to agree with Heater, its not the easiest language to read and understand, only marginally better than APL.

User avatar
RaTTuS
Posts: 10241
Joined: Tue Nov 29, 2011 11:12 am
Location: North West UK

Re: Is ARM doomed?

Mon Apr 15, 2019 6:42 am

mahjongg wrote:
Sat Apr 13, 2019 8:34 pm
snip....

So yes, I have it, the smalltalk issue.
features:
page 14, introducing the Smalltalk-80 system

with an introduction from Carl Helmers.

and other articles starting on page 36, 74 (the first time I read about object-oriented software anywhere), 90, 147, 168 (about a "graphics kernel), 230, 286, 300, 322, 348 (is smalltalk suitable for children?) 369, and 378.

I loved, and still love, Byte magazine.

I'm going to re read this issue of it. :P

If I'm not mistaken you can also find a copy of it online, perhaps on the wayback website, but a paper copy is much nicer.... 8-)
https://archive.org/details/byte-magazi ... 8/page/n15
How To ask Questions :- http://www.catb.org/esr/faqs/smart-questions.html
WARNING - some parts of this post may be erroneous YMMV

1QC43qbL5FySu2Pi51vGqKqxy3UiJgukSX
Covfefe

timrowledge
Posts: 1255
Joined: Mon Oct 29, 2012 8:12 pm
Location: Vancouver Island
Contact: Website

Re: Is ARM doomed?

Mon Apr 15, 2019 5:07 pm

Thanks for that; gst is a mystery to me for previously stated reasons.
Paeryn wrote:
Mon Apr 15, 2019 12:07 am
GNU Smalltalk doesn't print anything unless told to so you would need to printNl the result to show it.
Ah, ok. In a 'real' Smalltalk one would be running this code in a Workspace by selecting the '30 demoFib' and then using the 'print it' menu option/cmd-key. Unsurprisingly, 'print it' tends to err, print the result.
Paeryn wrote:
Mon Apr 15, 2019 12:07 am
Also the function doesn't generate Fibonacci numbers!
Fair enough - not my code and I certainly haven't ever bother to debug it to see what it really does! As mentioned above it's pretty much purely used as a very quick "check the performance of this new virtual machine to make sure I didn't bugger up the optimisations" test. For that, it serves well.
Making Smalltalk on ARM since 1986; making your Scratch better since 2012

timrowledge
Posts: 1255
Joined: Mon Oct 29, 2012 8:12 pm
Location: Vancouver Island
Contact: Website

Re: Is ARM doomed?

Mon Apr 15, 2019 5:23 pm

Heater wrote:
Mon Apr 15, 2019 3:28 am
No insult intended. Perhaps my statement is a bit harsh there and not sounding as jovial as I would like.
Sorry; annoying day and not your fault. Unless .....

Heater wrote:
Mon Apr 15, 2019 3:28 am
1) Having been in and around programming since the early 1980's I have never seen anyone using Smalltalk. It has never shown up in any project. It has ever asked if it's in my skill set for any employment opportunities.
I could say the same about a whole raft of other languages - it's down to the different paths people walk thourgh their life and careers. *I've* never seen anyone using COBOL, C#, clojure, Lisp, java, etc etc. Is any software I use based on any of them? No clue.

I can *almost* guarantee that your (financial) life depends in a small way on Smalltalk since quite a lot of the big banking systems have substantial Smalltalk components; especially the weird stuff. And at least for a couple of decades a colleague styled himself 'lord of the fries' after developing and selling a system that many of the really big fast-food companies used for stock maintenance/logistics. Not sure I'd feel too proud of that one...
Heater wrote:
Mon Apr 15, 2019 3:28 am
3) Smalltalk does not show up on TIOBE or github language rankings.
I doubt RISC OS does either but that doesn't stop it being the least annoying OS I've ever had reason to use.

So whilst obviously not doomed it simply does not show up on my radar. Contrast that to the fact that I have at least met one Cobol programmer and one Fortran programmer in real life.
Heater wrote:
Mon Apr 15, 2019 3:28 am
That sounds great. I might be tempted to try building a RISC V Smalltalk. There are RISC V targets for GCC and Clang/LLVM now a days.
A basic Squeak VM can be built on any system with a C compiler (gcc seems easiest at least to start on) by downloading the build tree from https://github.com/OpenSmalltalk/opensmalltalk-vm and following the instructions. If the OS is not unix/windows/mac there will be extra work to do to connect to it. Creating the dynamic compilation version is rather more work, surprise.
Heater wrote:
Mon Apr 15, 2019 3:28 am
By the way if Smalltalk runs on 8080 then it runs on Z80. Z80 is a super set of the instruction set, a majority of CP/M software only used 8080 instructions, the Z80 extensions were not really usable by compilers.
Yeah, that sounds faintly famliar. Ancient tape drives in the deep caves where I back up my mindstate grudgingly brought that back online. Now I have to wait for the sad years of the Thatcher Dictatorship to get paged back out. Thanks!

[edit] I forgot to mention one of the really cool Smalltalk systems you *should* consider using - https://www.3dicc.com Virtual reality massive meeting facilities. Why travel if you don't need to?
Making Smalltalk on ARM since 1986; making your Scratch better since 2012

Heater
Posts: 12078
Joined: Tue Jul 17, 2012 3:02 pm

Re: Is ARM doomed?

Mon Apr 15, 2019 6:04 pm

timrowledge,
I could say the same about a whole raft of other languages...
Fair enough, it's all anecdotal.
A basic Squeak VM can be built on any system with a C compiler (gcc seems easiest at least to start on) by downloading the build tree from https://github.com/OpenSmalltalk/opensmalltalk-vm and following the instructions. If the OS is not unix/windows/mac there will be extra work to do to connect to it.
Hmm... what OS? My RISC V on FPGA has no OS. Sounds like this might be too big an idea for me.

Meanwhile my attempt at a million digit fibo in Smalltalk has failed. It only works up to the 8576th Fibonnaci number then starts producing big random numbers. See my post here:
viewtopic.php?f=62&t=227343&start=1675#p1456027

Any ideas?

If not I have to put the zombie Smalltalk back in the ground for a while.

timrowledge
Posts: 1255
Joined: Mon Oct 29, 2012 8:12 pm
Location: Vancouver Island
Contact: Website

Re: Is ARM doomed?

Mon Apr 15, 2019 10:21 pm

Heater wrote:
Mon Apr 15, 2019 6:04 pm

Hmm... what OS? My RISC V on FPGA has no OS. Sounds like this might be too big an idea for me.
Well, we *have* made Squeak run on no-OS devices before but it can get a bit tedious when you have no real support system. One can, for example, display straight to a frame buffer whether local or remote, and take input from whatever channel you might have. I've done it several times in the past but it gets real old real quickly. Mind you, I was/ we were developing the hardware at the same time which adds excitement.
Heater wrote:
Mon Apr 15, 2019 6:04 pm
Meanwhile my attempt at a million digit fibo in Smalltalk has failed. It only works up to the 8576th Fibonnaci number then starts producing big random numbers. See my post here:
viewtopic.php?f=62&t=227343&start=1675#p1456027

Any ideas?

If not I have to put the zombie Smalltalk back in the ground for a while.
Well if things start going off the rails after a while I'd have to guess the gst large integer handling stuff has some bugs. After that many iterations you are *well* into large number territory and large amounts of memory having been used and who knows what. Maybe the gst code fails to properly handle memory allocation problems?

I just checked the Squeak iterative generator and it matches a randon online generator I googled up to 20,000 (which is as far as said online tool will go)
Making Smalltalk on ARM since 1986; making your Scratch better since 2012

Heater
Posts: 12078
Joined: Tue Jul 17, 2012 3:02 pm

Re: Is ARM doomed?

Tue Apr 16, 2019 12:07 am

timrowledge,
One can, for example, display straight to a frame buffer
Ah, no, I was thinking more of a serial console port and a REPL. I'm far away from getting a graphical output on my RISC V experiment.
Well if things start going off the rails after a while I'd have to guess the gst large integer handling stuff has some bugs.
Looks like my fibo code is buggy. Your fiboIterative works for 8577 here. Mine does not. See my post on the avoiding BASIC thread.


Return to “Off topic discussion”