Maybe we shouldn't be focusing on FPGAs and instead focus on memristors.
On Dec 7, 2012 1:37 AM, "Eugen Leitl" <[email protected]> wrote:

> ----- Forwarded message from Tomasz Rola <[email protected]> -----
>
> From: Tomasz Rola <[email protected]>
> Date: Thu, 6 Dec 2012 23:58:57 +0100 (CET)
> To: [email protected]
> Subject: Re: [info] [racket] OPERATING SYSTEM ON A FPGA (fwd)
>
>
> ---------- Forwarded message ----------
> Date: Wed, 5 Dec 2012 19:51:08 -0800 (PST)
> From: Hugh Aguilar <[email protected]>
> To: "[email protected]" <[email protected]>
> Subject: Re: [racket] OPERATING SYSTEM ON A FPGA
>
> What would a Racket OS on an FPGA be used for???
>
> I wrote the assembler/compiler/simulator development package MFX for the
> MiniForth processor, which ran Forth as its native language. That thing had
> a specific use --- it was for a motion-control board, primarily used in a
> laser etcher. The MiniForth was built on a Lattice isp1048 PLD, not an
> FPGA, but most of the same ideas apply. There have been several
> Forth-engines built on FPGAs, as well as several built as hard processors,
> although I only worked on the MiniForth.
>
> I really don't think that you are going to get Racket, or any other
> dynamic-OOP language, to run on an FPGA. Slava is interested in getting
> Factor, which is dynamic-OOP, to run on micro-controllers and compete
> against Java --- but he told me that the smallest processor that could
> support Factor would be the ColdFire. I'm not really interested in such big
> processors. Factor is a better choice than Racket for that kind of thing
> though, as it compiles to machine-code and doesn't have a VM or JIT or any
> of that other stuff that adds complication at run-time.
>
> I'm writing my own language now, which I call Straight Forth. This will
> target small processors, such as the PIC24, that Factor can't run on. This
> language borrows heavily from Scheme though! I have closures, which Forth
> has never had (and never will, from what I've seen of Forth-200x). My
> closures are pretty similar to Factor's quotations; they have access to the
> creator function's local variables. They have these limitations:
> 1.) You can't use closures after the creator function has gone out of
> scope (trying to do so will cause the program to abort with a helpful error
> message).
> 2.) You can't nest closures inside of each other; each creator function
> only gets one level of closures. This means you can't use them as control
> structures the way that Factor does.
>
> My closures are primarily supposed to be used for iterators. You have an
> iterator function that traverses some data structure, and it is given a
> closure as an input parameter, and it calls that closure for every node in
> the data structure. This is similar to my EACH in my novice package (
> http://www.forth.org/novice.html), except that the closure will
> communicate with the creator function through its local variables, rather
> than on the stack like I did in the novice package (and which was a major
> PITA).
>
> I think that it is a very bad idea to try to get a dynamic-OOP language to
> run on a micro-controller. This might work in smart-phones, which is what
> Slava is aiming for, but it won't work on micro-controllers. You can't have
> GC on a micro-controller!
>
> I think that it is a much better idea to do what I'm doing, or something
> like it --- make a Forth that borrows some of the high-level aspects of
> Scheme (mostly closures) --- but which does not have tagged data such as
> Scheme and Factor do, which is not appropriate for a micro-controller. It
> has been said that the language of the future will look like Lisp --- but
> that doesn't mean that it will be Lisp --- it will just borrow the
> appropriate ideas and reject the inappropriate ideas. Lisp and Scheme will
> never be used for real-time programming --- the micro-controllers just
> aren't that powerful, and even if they were, GC would still throw a monkey
> wrench in the works by making the thing stutter. On the other hand, Forth
> will never be a good choice for desktop-computer programming --- Scheme and
> Lisp, and pretty much everything else, are better choices.
>
> I have said (on comp.lang.forth) many times that Forth should not try to
> be general purpose, as it becomes "a jack of all trades and a master of
> none" --- but that the Forthers should focus on micro-controllers, which is
> what Forth is good at. The same thing can be said about Racket though ---
> that the Racketeers should focus on desktop-computers, which is what Scheme
> is good at. It may be possible however, for Forth to borrow some ideas from
> Scheme (I'm borrowing closures), and for Racket to borrow some ideas from
> Forth (better support for integer arithmetic) --- meet in the middle!
>
> cheers --- Hugh
>
>
>
> Message: 1
>
> Date: Wed, 5 Dec 2012 10:30:59 -0800
> From: Patrick Li <[email protected]>
> To: [email protected]
> Subject: Re: [racket] OPERATING SYSTEM ON A FPGA
> Message-ID:
>     <candun1qa9g_sx5srfzlcn4uzf8a1epwn0kwxwu7z-5qcaw8...@mail.gmail.com>
> Content-Type: text/plain; charset="iso-8859-1"
>
> Hello,
>
> I am personally also very interested in this topic, if Matthias and Erich
> would shed some light on it.
>
> I have only done system programming in assembly and C, and found that I
> frequently did a lot of manual placement and shuffling of data in memory,
> with the usual pointer tricks.
>
> Off the top of my head, I do not how those same tasks would be accomplished
> in a dynamically typed, and garbage-collected language like Scheme. Would
> anyone be able to explain the gist of it?
>
> Of course, there are real systems that are actually built upon such
> languages. The Symbolics machines and Wirth's Oberon systems come to mind.
> I am still reading through resources to figure out how they did it.
>
> Thank you for any insight offered.
>   -Patrick
> ____________________
>   Racket Users list:
>   http://lists.racket-lang.org/users
>
> _______________________________________________
> info mailing list
> [email protected]
> http://postbiota.org/mailman/listinfo/info
>
>
> ----- End forwarded message -----
> --
> Eugen* Leitl <a href="http://leitl.org";>leitl</a> http://leitl.org
> ______________________________________________________________
> ICBM: 48.07100, 11.36820 http://www.ativel.com http://postbiota.org
> 8B29F6BE: 099D 78BA 2FD3 B014 B08A  7779 75B0 2443 8B29 F6BE
> _______________________________________________
> fonc mailing list
> [email protected]
> http://vpri.org/mailman/listinfo/fonc
>
_______________________________________________
fonc mailing list
[email protected]
http://vpri.org/mailman/listinfo/fonc

Reply via email to