Arc Forumnew | comments | leaders | submitlogin

Thanks for the kind words, and for the pointer to SenseTalk and Eggplant! I'd never heard of it, so I went off to correct that and ended up at this paper after a few clicks:

"Software Verification of Orion Cockpit Displays",

Very interesting. Though the thought of NASA just using Python and a proprietary solution seems worrying. Maybe it's just for the test harness and other scaffolding, not code that will actually run in orbit.

It's kismet, perhaps, but I also worked on a project called Arc some 9 years ago before I found - well, Arc. It was a build tool chain written in Scheme, developed by Gregor Klinke. I was at the height of my interest in Lisp and Scheme back then, and I liked the idea of this project for potentially building a Software Configuration Management system oriented to Scheme and Lisp.

Looking back at this project with new eyes, perhaps swapping out Scheme for Arc, I wonder...

Arc build tool project

Also on reddit:

My immediate interest is in "News". I was seeking a codebase to work from that would put me in a similar space as HN in look and function. I came across Anarki and was pleased to see it was related to Arc which I have recently been playing with.

My longterm interest is in shifting my mental focus to a more Lisp-oriented way of programming and thinking. I'm not a programmer by trade; I am a software tester and scripter, mostly. I use Python typically, but after working on an OS build I had to learn Guile and Emacs Lisp quickly. I fell in love with Lisp and Scheme due to this experience.

Arc interest came about after reading about it on Paul Graham's website. I'd worked through a portion of Practical Common Lisp by Seibel and decided to try out Arc. It felt right. Since I also happen to work in the Information Security space, I have ideas that for the most part feel like Lisp is the right language, but I will need to become more proficient. Anarki feels like a good place to start to get there from.

Side note: An an automation tester at UCLA working with SenseTalk via Eggplant, I came across Mu while researching alternatives to Eggplant in areas it fails to provide results, such as passing and receiving AIX system calls, or validating logs are being written to. Mu has caught my attention for the longterm, as well, so kudos for both Anarki and Mu.

Great to see! What's gotten you interested in it at the moment?
1 point by akkartik 19 days ago | link | parent | on: Problem with assignment

Maybe this will get too involved. Do you have experience with git, say making commits and so on?

Wanna switch to email? If you click on my username, my profile has my email address.

2 points by jsgrahamus 20 days ago | link | parent | on: Problem with assignment

Sure. Never done such before. Where are instructions for it?
1 point by akkartik 20 days ago | link | parent | on: Problem with assignment

Thanks! Wanna submit a Pull Request? ^_^

Not a big deal, I can do it too. But if it's easy you'd get to add your name to the repo :) Let me know.

2 points by jsgrahamus 21 days ago | link | parent | on: Problem with assignment

That did it.

Thanks, akkartik!

2 points by akkartik 21 days ago | link | parent | on: Problem with assignment

It sounds like we need to put quotes around the '%arc_dir%boot.rkt' in arc.cmd:

Can you check if that fixes it?

2 points by jsgrahamus 21 days ago | link | parent | on: Problem with assignment

Windows 10: When I put the anarki folder in D:\, calling it worked fine.

However, when I put the folder in D:\Steve - D\Apps\, I got the following: D:\Steve - D\Apps\anarki>arc.cmd default-load-handler: cannot open module file module path: #<path:D:\Steve> path: D:\Steve system error: The system cannot find the file specified.; errid=2

I figure it has to do with spaces in the pathname, but unsure how to fix it.

2 points by akkartik 23 days ago | link | parent | on: Problem with assignment

Yes, this is a bug in Arc 3.1: [1]

Use Anarki or Anarki's stable branch. The latter is like Arc 3.1 but with a couple of bugfixes.

More details:

[1] via google: ' string-set contract violation' :D

3 points by jsgrahamus 23 days ago | link | parent | on: Problem with assignment

Invoked by racket -f as.scm

I enjoyed watching the video and thought the speaker did a great job, but I can't say I agree with her.

When you start to have spreadsheets that require even a moderate level of analysis, tooling and refactoring then you need to move to a real programming language and environment where you get the benefits of a development eco system that establish application integrity (i.e. user access control & applied methodologies).

I've been involved in projects where companies create these MOASS apps[1] and no spreadsheet or spreadsheet tooling will solve these problems. You may not spend the 'X' months and 'X" dollars to develop the app, but your spreadsheet app will produce incorrect results often and more easily, which will cost you more in the long run (forget the fact that employees will leave which only compounds the problem).

1. Mother Of All Spread Sheets.

This video was very interesting to me: A chance to learn more about functional programming and Excel. Also the speaker was one of the most animated I have seen.
3 points by i4cu 39 days ago | link | parent | on: Arc forum GDPR compliance

After responding in this thread I ventured a little further into what GDPR would look like within the apps I am building and OMG the ability to comply could be horrendously challenging.

For example, some of my apps use Datomic, which contains both an append only log file for data storage as well as bulk storage data facilities provided by 3rd party db systems. And that doesn't even take into consideration indexes. So deleting user data would be a non-trivial exercise.

Simply put: modern day data system architectures have grown in complexity to the degree that you simply just can not push a button and remove user data anymore.

Here's some further discussion if anyone is interested.

P.S. I realize I'm kinda hijacking this thread, and this has nothing to do with Arc anymore, but thought that hjek might be interested (or maybe not lol).

As part of tidying up my code and separating it into individually digestible libraries rather than a big ball of mud, I've started a GitHub organization called "Lathe." [1]

You might be familiar with Lathe as the name of my Arc utility libraries and their namespace system[2]. The concept behind the name Lathe was always related to trying to "smooth out" the language I was working in. (And I think originally it was directly related to the language Blade I was trying to design and build; I was smoothing out Arc to get it closer to Blade, or something.)

And at one point I started putting JavaScript utilities in Lathe as well. At the time, I thought stuffing Arc utilities and JavaScript utilities into the same repo was for the best, because I figured they might interact with each other somehow (e.g. one of them loading the other through an FFI of some kind). They never quite did. Even when I started putting Racket utilities in Lathe, I didn't ever invoke them from Arc or vice versa.

I'm finally breaking Lathe apart into multiple libraries, all under the "Lathe" GitHub organization[1]. I've got these so far:

- Lathe Comforts for Racket (little day-to-day utilities)

- Lathe Morphisms for Racket (algebraic or category-theoretic constructions)

- Lathe Ordinals for Racket (ordinal arithmetic)

Lathe Morphisms and Lathe Ordinals weren't ever part of the original Lathe repo[2]; they're all-new. And there isn't really that much to Lathe Morphisms yet anyhow; its design is still unstable at the most basic levels as I learn more about category theory.

Anyhow, you may notice "for Racket" is part of the library name, and the full GitHub repository name is something like lathe/lathe-comforts-for-racket. I'm organizing Lathe so that it's reasonable to add in libraries like "Lathe Comforts for JavaScript," "Lathe Comforts for Arc," and so on, without having to come up with a creative name for each and every library. :-p

Since Racket has a package repository, I drop the "for Racket" from the name of the library when I publish it there, so people can simply run `raco install lathe-comforts`. I would do the same thing if I were publishing a "for JavaScript" library on npm.

Anyhow, this blog post is a journal of the way I broke out Lathe Ordinals into its own library this week.



I made this blog post about a week ago. It meanders a lot because I'm making up for all the time I haven't been updating my blog.

The gist of it is that the extensible quasiquotation syntax design I've been working on for a while now, which I've thought had something to do with higher category theory, does indeed seem very related.

All the times I've thought to myself "Why is this so hard to implement? Surely someone out there has answers..." it turns out that the people working on opetopic higher categories are exactly the people with those answers. So now some of the complexity that's made me doubt my approach, I can actually be confident about, and I've found some clear answers out there to things I never quite figured out on my own.

For instance, check out "Implementing the Opetopes," a PDF linked from In there, Eric Finster describes a data structure called "SAddr," which is an address referencing a particular part of an opetopic structure, the same way you might use an integer to reference a particular element of a list.

Every so often I would think about what it would take to reference a particular element of what I've been calling a "hypertee," and I would come to the tentative conclusion that I'd need a list of lists of lists ... of lists of empty lists. That's exactly what Eric Finster's SAddr data structure is, so it looks like I don't need to worry that I've made a mistake somewhere; someone else has tested this idea already and had success. :)

Over the past week I've been going ahead with an implementation of the kind of quasiquotation system I've been attempting for all this time. It's going well. :) I look forward to having more to report at some point.

For some background, I've discussed what I'm trying to do with quasiquotation on Arc Forum before, in this thread:

2 points by i4cu 44 days ago | link | parent | on: Arc forum GDPR compliance

Well practically speaking it only applies if there is something the EU can do about it and if you're doing business in the EU they certainly can do something. Even FB, for example, needs to conform otherwise all that ad revenue from EU companies can vanish if the EU governing bodies sees fit to do so.

But the most the EU could do about the Arc forum would be to block EU users from accessing the site (which would be a political nightmare for them in censorship terms). And, in reality, this site doesn't hold any real data worth worrying about and I somehow doubt PG is sitting around worried about what the EU thinks (regarding this site).

None of this has anything to do with what I think of the laws they are creating. Frankly from the little that I've read I kinda like what I see, but still the world doesn't abide by whatever the EU says, as a parallel example... just look at how much trump cares about nafta right now and that's an agreement they signed. (I'm Canadian btw).

Nice write-up.

I think regardless of whether it's really an editor to use on daily basis, it's quite interesting to see any new take on editor keyboard interaction.

My experience:

Of course everyone should use Calc instead of Excel,
1 point by hjek 45 days ago | link | parent | on: Arc forum GDPR compliance

To me, it currently reads more like the GDPR applies when you operate to users in EU,

> The GDPR is applicable to the US entities to the extent such entities process personal data in order to provide a service or a good within the EU territories.

> It doesn't matter if you operate or are established in the EU. If you have EU visitors/users they gain the protections of the GDPR and you have to comply.

2 points by i4cu 50 days ago | link | parent | on: Arc forum GDPR compliance

No one is breaking these laws as the rest of the world is not subject to EU law. Unless you can show the US has adopted the law as a member state then you shouldn't go around stating such things.
1 point by hjek 60 days ago | link | parent | on: Arc forum GDPR compliance

That address doesn't work:

    Final-Recipient: rfc822;
    Original-Recipient: rfc822;
    Action: failed
    Status: 5.4.6
    Diagnostic-Code: X-Postfix; mail for loops back to myself
2 points by hjek 62 days ago | link | parent | on: Arc forum GDPR compliance

I'll give that one a try. Thanks.
3 points by jsgrahamus 62 days ago | link | parent | on: Arc forum GDPR compliance

You might also try
2 points by jsgrahamus 62 days ago | link | parent | on: Arc forum GDPR compliance

I have gotten passwords reset (not sure if it was arc or HN-related) from this e-mail:

Perhaps they could help with this issue, too.


2 points by akkartik 82 days ago | link | parent | on: List comprehensions in Arc

List comprehensions are now in Anarki:

There's really not much happening in CL that can't be achieved in Clojure (or vice versa for that matter). Just grab a library and write your macros to obtain your desired level of brevity/utility. The first thing I did when moving from Arc to Clojure was port over the web service routing along with the html/json generators & parsers. Since then my server code has morphed into a custom unique hybrid, and now when I look at all of these other examples I think ugh, I'll pass thanks.