Re: [racket-users] Boot To Racket

2017-07-08 Thread Lehi Toskin
Probably just on a Raspberry Pi, yes.

On Saturday, July 8, 2017 at 5:15:12 PM UTC-7, Deren Dohoda wrote:
> I actually use Racket in an embedded linux scenario on a 32-bit ARM. The 
> board has Debian installed but without twiddling boots under busybox. Once 
> upon a time I thought about giving a 5-minute presentation at Racketcon on 
> the experience of using Racket in this way but it never happened. It's very 
> hard to say what my hypothetical minimum requirements would be for such a 
> system without thinking of the hardware that would exist. Filesystem, 
> USB/RS232 serial/ whatever else the chip offers, and network seem like the 
> bare minimum. Are you thinking about some kind of minimal racket running on a 
> Raspberry Pi or something more abstract?
> 
> 
> Deren
> 
> 
> On Fri, Jul 7, 2017 at 8:16 PM, Lehi Toskin  wrote:
> 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. Probably wouldn't be very interesting by 
> itself, but that seems to be almost exactly what eLua and MicroPython are.
> 
> 
> 
> Say, for the sake of discussion, such a tiny system were created. What 
> functionality would you expect to be available? Filesystem access? 
> Networking? Or simply just the racket/base REPL and that's it?
> 
> 
> 
> --
> 
> 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...@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.


Re: [racket-users] Boot To Racket

2017-07-08 Thread Deren Dohoda
I actually use Racket in an embedded linux scenario on a 32-bit ARM. The
board has Debian installed but without twiddling boots under busybox. Once
upon a time I thought about giving a 5-minute presentation at Racketcon on
the experience of using Racket in this way but it never happened. It's very
hard to say what my hypothetical minimum requirements would be for such a
system without thinking of the hardware that would exist. Filesystem,
USB/RS232 serial/ whatever else the chip offers, and network seem like the
bare minimum. Are you thinking about some kind of minimal racket running on
a Raspberry Pi or something more abstract?

Deren

On Fri, Jul 7, 2017 at 8:16 PM, Lehi Toskin  wrote:

> 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. Probably wouldn't be very
> interesting by itself, but that seems to be almost exactly what eLua and
> MicroPython are.
>
> Say, for the sake of discussion, such a tiny system were created. What
> functionality would you expect to be available? Filesystem access?
> Networking? Or simply just the racket/base REPL and that's it?
>
> --
> 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.


Re: [racket-users] Boot To Racket

2017-07-08 Thread William G Hatch

I would love to see a Racket unikernel, and be able to essentially run a
modern Lisp machine.  That seems like a really big project, but I guess
I have no real understanding of how big it would be, or what parts you
could use off the shelf (eg. from OS-kit.  I understand this was done
before in Racket some years ago).  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.

But whatever the timeline I would *love* to see it.

On Fri, Jul 07, 2017 at 06:19:52PM -0700, Lehi Toskin wrote:

Well there is the racket-rash project[1]. So you're thinking of more a *NIX 
environment inside the REPL?


Just FYI, Rash is near the end of a major rewrite, so the documentation
that is up (what there is of it) is all wrong, and the language is very
different now.  But it does aim to do everything that a unix shell (eg.
bash) does, as well as much more, embeddable in any Racket program at
the expression or module level (also you can escape to normal Racket,
embedding any normal Racket code inside Rash).  Also eventually I hope
to have a nicer interactive repl with completion, etc, as half of the
purpose is to have a better interactive shell environment.  But the
language part is close to being more or less done.

If someone did make a Racket unikernel, I suppose the parts for running
Unix (or Windows, if you're into that kind of thing) programs and
pipelining them wouldn't work on it.  But pipelines of Racket functions
would still work normally.

--
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] Boot To Racket

2017-07-08 Thread Lehi Toskin
That's an interesting project. It's a little too inclusive, so to speak, for 
what I was thinking of implementing.

On Friday, July 7, 2017 at 7:33:32 PM UTC-7, Neil Van Dyke wrote:
> I've made a boot-to-Racket-app appliance image for x86 before, based on 
> Debian Live.  The bootable filesystem image was under 400 MB, including 
> Linux, X, Racket, various other native programs and libraries, and the 
> app itself.
> 
> It would boot to a full-screen display that would display a hostname or 
> IP address at which you should point your smartphone/tablet/laptop Web 
> browser, to get a remote control UI "HTML5 mobile app".  But I could 
> also have had it run "racket" REPL or DrRacket rather than the app.
> 
> (This appliance was going to be an example for my abandoned book, but I 
> did release a few independently reusable Racket packages from it, in 
> keeping with the methodology the book was to promote.)
> 
> One clean way to implement boot-to-Racket is with the "build-lildeb" 
> script of an earlier GNU/Linux distro -- one script file shows and 
> implements all the changes made to strip down and customize Debian 
> Live.  There's also an "update-lildeb" flashing script, which goes to a 
> lot of trouble to tweak the partition table of the flashed device.
> http://www.neilvandyke.org/lildeb/
> 
> If you want something smaller than a stripped-down Debian, there's 
> OpenWrt.  There are signs that someone unknown once put considerable 
> work into getting Racket to run on hardware architectures like some 
> small OpenWrt devices have, because Racket REPL came up a little too 
> easily once I got OpenWrt building working.  The OpenWrt package for 
> Racket turned out to be less than 6 MB, though the bigger concern is the 
> runtime RAM footprint.  I didn't test this much.
> http://www.neilvandyke.org/racket-openwrt/
> 
> There's also various other projects for embedded Linux.  Some of them 
> get into messier and more questionable toolchains, and can involve a lot 
> more work and sometimes sketchy provenance. Personally, if your target 
> hardware is even a modest, well-supported x86 or ARM device (not 
> something very small or strange), I'd probably start with Debian Live 
> (probably copying and modifying my "build-lildeb" script), and see how 
> that works.
> 
> Or you could just have instructions (or a script) for how to modify a 
> stock Debian, Raspian, Arch, etc. install to boot-to-Racket, in a manner 
> of speaking.

-- 
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] Boot To Racket

2017-07-07 Thread Neil Van Dyke
I've made a boot-to-Racket-app appliance image for x86 before, based on 
Debian Live.  The bootable filesystem image was under 400 MB, including 
Linux, X, Racket, various other native programs and libraries, and the 
app itself.


It would boot to a full-screen display that would display a hostname or 
IP address at which you should point your smartphone/tablet/laptop Web 
browser, to get a remote control UI "HTML5 mobile app".  But I could 
also have had it run "racket" REPL or DrRacket rather than the app.


(This appliance was going to be an example for my abandoned book, but I 
did release a few independently reusable Racket packages from it, in 
keeping with the methodology the book was to promote.)


One clean way to implement boot-to-Racket is with the "build-lildeb" 
script of an earlier GNU/Linux distro -- one script file shows and 
implements all the changes made to strip down and customize Debian 
Live.  There's also an "update-lildeb" flashing script, which goes to a 
lot of trouble to tweak the partition table of the flashed device.

http://www.neilvandyke.org/lildeb/

If you want something smaller than a stripped-down Debian, there's 
OpenWrt.  There are signs that someone unknown once put considerable 
work into getting Racket to run on hardware architectures like some 
small OpenWrt devices have, because Racket REPL came up a little too 
easily once I got OpenWrt building working.  The OpenWrt package for 
Racket turned out to be less than 6 MB, though the bigger concern is the 
runtime RAM footprint.  I didn't test this much.

http://www.neilvandyke.org/racket-openwrt/

There's also various other projects for embedded Linux.  Some of them 
get into messier and more questionable toolchains, and can involve a lot 
more work and sometimes sketchy provenance. Personally, if your target 
hardware is even a modest, well-supported x86 or ARM device (not 
something very small or strange), I'd probably start with Debian Live 
(probably copying and modifying my "build-lildeb" script), and see how 
that works.


Or you could just have instructions (or a script) for how to modify a 
stock Debian, Raspian, Arch, etc. install to boot-to-Racket, in a manner 
of speaking.


--
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] Boot To Racket

2017-07-07 Thread Lehi Toskin
Well there is the racket-rash project[1]. So you're thinking of more a *NIX 
environment inside the REPL?

[1] https://github.com/willghatch/racket-rash

On Friday, July 7, 2017 at 5:38:51 PM UTC-7, Royall Spence wrote:
> How about a full suite of all the usual shell commands? I believe this
> is the approach scsh takes. Come to think of it, I'm going to give that
> a try now...
> 

-- 
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] Boot To Racket

2017-07-07 Thread 'Royall Spence' via Racket Users
How about a full suite of all the usual shell commands? I believe this
is the approach scsh takes. Come to think of it, I'm going to give that
a try now...

On Fri, Jul 7, 2017, at 08:16 PM, Lehi Toskin wrote:
> 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. Probably wouldn't be very
> interesting by itself, but that seems to be almost exactly what eLua and
> MicroPython are.
> 
> Say, for the sake of discussion, such a tiny system were created. What
> functionality would you expect to be available? Filesystem access?
> Networking? Or simply just the racket/base REPL and that's it?
> 
> -- 
> 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] Boot To Racket

2017-07-07 Thread 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. Probably wouldn't be very interesting by 
itself, but that seems to be almost exactly what eLua and MicroPython are.

Say, for the sake of discussion, such a tiny system were created. What 
functionality would you expect to be available? Filesystem access? Networking? 
Or simply just the racket/base REPL and that's it?

-- 
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.