Re: [racket-users] Re: Boot To Racket

2017-07-13 Thread Daniel Brunner
Hey,

just to add another idea:

> 
> Don't be scared away from coding your own Scheme from scratch.  A whole
> lot of them got started that way, because it's easy to code your own (If
> you borrow existing approaches for garbage collection and evaluation
> with tail calls), then do something different with it.  In your case,
> you're implementing Scheme on bare metal, and can see how that can
> accommodate Scheme.  

Maybe (really a big maybe because I do not know enough details to tell
if it is possible) it's worth to get Chez Scheme
(http://www.scheme.com/) to "boot" on your device. As far as I know Chez
has several backends for different machine types and operating systems
(https://cisco.github.io/ChezScheme/release_notes/v9.4/release_notes.html).
I tried it on Linux/FreeBSD on x86_64 but there is a LinuxARM version as
well.

There is an ongoing project by Matthew Flatt to rewrite Racket on top of
Chez (https://github.com/racket/racket7). So if you manage to get your
device to "boot to Chez" you may get Racket running in Chez somewhere in
the future.

Best wishes,
Daniel

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [racket-users] Re: Boot To Racket

2017-07-11 Thread Neil Van Dyke
My comments were about adapting off-the-shelf solutions.  If you want to 
do it from scratch, for educational/hack value, or because you want to 
do something better in some way, then Just Do It.


Suggestions, based only on a general familiarity...

There are introductory textbooks on operating systems that you can skim, 
to introduce scheduling, virtual memory, devices, and filesystems.  Also 
get docs for the particular ARM architecture and the exact SoC and 
peripherals that your chosen model of RasPi uses. And some 
Linux-specific docs (maybe even just a device drivers book).


In parallel with book-learnin', to motivate and anchor, you might also 
look through the Linux source, to see what it does to bring up a RasPi.  
Try to trim that down to a minimal set of stuff you need to implement, 
to boot a RasPi to the point you can blink an LED under your control.  
Then implement that, then implement the rest of your jeOS.  
http://knowyourmeme.com/memes/how-to-draw-an-owl


You can look into the Racket code, to see what OS system calls it needs 
to make for a REPL.  It might be a lot of Posix you have to implement.


There's also this RasPi-specific OS text, and perhaps others like it, 
though I haven't looked through it: 
http://www.cl.cam.ac.uk/projects/raspberrypi/tutorials/os/
Something more prepared, like that, might be the best way to get 
started.  Even Linux started that way.


--
You received this message because you are subscribed to the Google Groups "Racket 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [racket-users] Re: Boot To Racket

2017-07-11 Thread jukka . tuominen


I've been following this discussion with keen interest. Although my 
Liitin.org project is far from minimal in size (viable sized by design), 
it does have some common objectives. Racket is used as "the native 
language" that is meant to be able to control all areas of the 
cloud-based, native Linux environment. I'm very GUI-oriented myself, but 
will do my best to provide convenient command-line tools as well.


br, jukka


Lehi Toskin:
"I have this idea, this vision. I wish to create a small system that 
would more or less only be to turn on the machine (probably an RPi) and 
then you'd immediately be inside a Racket REPL..."


William G Hatch:
"I would love to see a Racket unikernel, and be able to essentially run 
a

modern Lisp machine..."

--
You received this message because you are subscribed to the Google Groups "Racket 
Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[racket-users] Re: Boot To Racket

2017-07-10 Thread Lehi Toskin
My general idea for this system is to write a small kernel that would boot and 
start a REPL, but now that I'm thinking about it I'd need to do some finagling 
to get Racket itself working on this new system --- not to mention learning ARM 
ASM if I'm going to implement this on a Raspberry Pi. By no means am I thinking 
of doing this any time soon, I don't know the first thing about OSdev, but ever 
since I read the LoperOS guy's blog[1], this idea of operating system design 
has always been burning in the back of my mind. I know of a number of OSdev 
resources (one of them is a family member) that I could research in my spare 
time, but I think the meat of the matter is finding someone who could be my Mr. 
Miyagi.

P.S. The guy who wrote the LoperOS blog is a real comedian in the same vein as 
Linus Torvalds on the LKML. I 100% encourage you to read through it and I 
guarantee you'll at least have a moderate chuckle.

[1] www.loper-os.org

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


Re: [racket-users] Re: Boot To Racket

2017-07-09 Thread John Berry
I've had a wish recently to try and turn Heresy into something like this,
with an RPi booting straight to a Heresy shell+editor interface akin to old
8-bit computers, complete with some kind of custom framebuffer 80-column
display (as I have an RPi1 and Xorg is hella slow).
It could all still be Linux underneath, but probably just sandboxed and
with the env. booting straight to it.
Sadly I've not got round to really working on that part yet.

On Sun, Jul 9, 2017 at 6:55 AM, Eric Eide  wrote:

> William G Hatch  writes:
>
> > I would love to see a Racket unikernel [...]  But I recall some talk
> about
> > MirageOS (I think) where they said something about it taking something
> like 2
> > years to rewrite the IP/TCP stack in OCaml.
>
> I imagine it wouldn't be too hard to get Racket running atop a rump kernel
> or
> OSv --- but I haven't tried.  It could be interesting, though, perhaps as a
> step toward something even more interesting.
>
> Surely you are right that writing everything in Racket would be a big job!
>
> Eric.
>
> --
> 
> ---
> Eric Eide   . University of Utah School of
> Computing
> http://www.cs.utah.edu/~eeide/ . +1 (801) 585-5512 voice, +1 (801)
> 581-5843 FAX
>
> --
> You received this message because you are subscribed to the Google Groups
> "Racket Users" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to racket-users+unsubscr...@googlegroups.com.
> For more options, visit https://groups.google.com/d/optout.
>

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.


[racket-users] Re: Boot To Racket

2017-07-08 Thread Eric Eide
William G Hatch  writes:

> I would love to see a Racket unikernel [...]  But I recall some talk about
> MirageOS (I think) where they said something about it taking something like 2
> years to rewrite the IP/TCP stack in OCaml.

I imagine it wouldn't be too hard to get Racket running atop a rump kernel or
OSv --- but I haven't tried.  It could be interesting, though, perhaps as a
step toward something even more interesting.

Surely you are right that writing everything in Racket would be a big job!

Eric.

-- 
---
Eric Eide   . University of Utah School of Computing
http://www.cs.utah.edu/~eeide/ . +1 (801) 585-5512 voice, +1 (801) 581-5843 FAX

-- 
You received this message because you are subscribed to the Google Groups 
"Racket Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to racket-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.