Yeah I have those in my repo. Look for serialize in the link in my profile.
I'll add it to anarki later today.
Update: I just found myself complaining about this nearly 3 years ago, along with an implementation: http://arclanguage.org/item?id=10677. Not as clean as serialize, though.
Update 2: Ok, now read and write work with nested tables. You can read the output of write:
arc> (= h (w/instring f (tostring (write (obj a 1 b (obj c 3 d 4)))) read.f))
#hash((a . 1) (b . #hash((c . 3) (d . 4))))
Running anarki with mzscheme 372 does not work. Starting anarki with pg's instructions reports:
require: unknown module: racket/unsafe/ops
Installing the latest racket 5.2.1 to work with anarki is causing trouble too. I see the following (which had no resolution):
http://arclanguage.org/item?id=12146
...but in my local dir ~/racket. Basically:
~/racket/bin$ ./racket
-bash: ./racket: No such file or directory
Trying to start plain anarki also causes trouble:
$ ./arc.sh
./arc.sh: line 7: type: rlwrap: not found
./arc.sh: line 11: /home/akkartik/racket/bin/racket: No such file or directory
$ ls -lrtah /home/akkartik/racket/bin/racket
-rwxr-xr-x 1 rouge rouge 3.4M Feb 2 08:48 /home/akkartik/racket/bin/racket
Is it possible to tell anarki which mzscheme to use?
Yes, you need to run anarki with racket. I typically simply install racket, clone anarki, cd into that dir, and then run:
$ racket -f as.scm
Does that work for you?
---
"bash: ./racket: No such file or directory"
Weird indeed. What do you get if you type this in?
$ file `which racket`
What version of linux or macos are you on? (If you're on windows that's beyond my experience.)
---
I just searched anarki and I don't seem to have leaked my homedir in the scripts or anything like that. Did you deliberately create that /home/akkartik directory?
I'm sure there's a 32-bit version you can download.
"Can I ask why anarki does not work with mzscheme 372? Arc works with it."
Yeah, I misspoke. I meant that I don't know if anarki works with mzscheme because I haven't tried it in forever and the default anarki instructions are to use racket.
I'm pretty sure it won't work with v372, that's a really old version. I believe pairs used to be mutable by default back then. Or perhaps they were immutable, but that was a big transition and I'm sure there were bugfixes.
And if you're going to install a more recent version of racket, might as well just run racket since it gets the most eyeballs on bugs. The community seems to have converged on racket as well. Testing resources are scarce; easier to just focus on one configuration.
Edit: Hmm, I run mint which is based on debian. What am I doing? I think I just downloaded the ubuntu version. It's not like it's a real deb and installs in system dirs anyway.
In general there's no way to do this, but you can simulate hot-swapping with thread and a little code organization. In readwarp.com, for example, I arrange the code so loading a file multiple times doesn't break behavior. Among other things it requires not reinitializing global variables, only functions. See http://arclanguage.org/item?id=11103, expecially tips 1 and 2.
You mean like fnids? They're just data, so you should be able to reuse them as is. If you change the html for the frontpage old continuations to the next page may not reflect the change, but they'll gradually expire and get replaced with the updated versions.
b) Run the shell script, install it to the directory containing the arc2.master branch.
c) Run:
plt/bin/mzscheme --no-init-file --load as.scm
It seems to come up without errors and ffi.arc seems to be loading up.
(When you report errors it's usually much faster to tell people how to reproduce your error in this step by step manner. Then they can usually immediately look at the instructions and tell you what you're doing wrong without a lengthy back-and-forth.)
Can you try the steps I outlined and confirm that it works for you? Perhaps something's messed up about the version you're on. Once you have a working version we can go in and poke at the differences to see where the problem might be.
I can't share a copy of the repo, but I'm going about introducing FFI the opposite way: pick Arc 3.1 and add any files that are needed to get just FFI and mysql-ffi.
That's a good approach. Keep at it, I'm sure you'll figure it out.
One way to get help with it: describe simple step-by-step changes to the repo that cause errors. Download arc 3.1, add this file from here, type this in at the repl, etc. Don't forget the actual text of the error you see as well.