
Scheme.forth.jl: Scheme in Forth in Julia - lelf
https://github.com/tgvaughan/scheme.forth.jl
======
cultus
To really go through the rabbit hole, I wonder if one could then use this as
Julia's parser, which itself is written in Femtolisp (a scheme).

~~~
kevinmgranger
You'd almost have a quine relay: [https://github.com/mame/quine-
relay](https://github.com/mame/quine-relay)

~~~
cultus
Wow, that is impressively insane!

------
macintux
Seems like you could use this to build a chain of platforms for the hell of
it.

Prolog in Elixir in Python in Scheme...

~~~
dnautics
You're going to have a hell of a time implementing elixir in python.

~~~
macintux
It’d be a lot harder to implement Python in Elixir!

~~~
dnautics
Would it? The basics of the language are at least easy, you might have trouble
when python drops into it's ffi. Same holds in the reverse; you can't easily
do elixir ffi in python.

FFI aside, I don't see a good way of implementing Kernel.spawn/1,
Process.monitor/1, etc. in python, without rebuilding the entire erlang VM
from scratch.

~~~
macintux
It’s a lot easier to implement an immutable language in a mutable one than
vice versa, or so I’d assume, never having tried.

But yeah, I’d assume you’d have to build the VM first. A lot of work.

~~~
dnautics
You can mock mutable variables in actors. Actors and genservers are a first
class module in the standard library. Elixir is not Haskell. There are plenty
of places with accessible statefulness/mutability, it's just shielded in a
functional wrapper and made slightly difficult to dissuade you from using
statefulness unnecessarily, so you make fewer coding and concurrency mistakes
in annoying places and you can focus on delivering features and solving hard
problems.

------
UncleOxidant
Was gonna try it, but it failed to install the forth.jl package. Then I went
and looked at the forth.jl github page and it says:

> Be aware that forth.jl requires Julia 1.0

Whereas on the scheme.forth.jl page it said:

> (forth.jl requires version >=1.0)

At any rate it doesn't install in Julia 1.4.0:

> ERROR: could not find project file in package at
> [https://github.com/tgvaughan/forth.jl](https://github.com/tgvaughan/forth.jl)

------
eigenspace
I'm loving all these little projects embedding languages in Julia.

