Arc Forumnew | comments | leaders | submit | mst's commentslogin
2 points by mst 4476 days ago | link | parent | on: Anarki Stable

I think pg is hoping we'll solve that for him.

I'd rather have him thinking about language design anyway.


1 point by lojic 4475 days ago | link

"I think pg is hoping we'll solve that for him."

That's fine, but if it's the case, it would be nice if he'd mention that he wants people to just deal with it via their own ad-hoc systems.


3 points by mst 4480 days ago | link | parent | on: Arc2.tar

anarki isn't really a fork any more than -ac is a linux fork.

Nor any less, I suppose.

Draw your own conclusions.


1 point by mst 4485 days ago | link | parent | on: The Factor Language

On the one hand, factor -does- have named variables.

On the other hand, once you start experimenting with stack stuff there's a moment where you go "aha" and it actually starts to make a lot of sense for temporary variables.

There are probably other aha moments further in that I haven't got to yet; I've not spent as much time with factor as I want to.

I dunno if I'll ever use it for "real stuff", but I think it's worth fighting your way through to the aha moments just like lisp and haskell are even if you never expect to use -them- for "real stuff".


3 points by mst 4497 days ago | link | parent | on: Musings on Language Design

It occurs to me that you could get away with most of that just by getting to perl, since perl can already call Python, Java etc. through the Inline:: modules.

And, for bonus points, somebody's already bolted perl into mzscheme -

so all we actually need to do is to find a way to expose -that- into arc.


1 point by CatDancer 4497 days ago | link

Very cool! I'll look into that. Ah, written by Audrey Tang, why am I not surprised :-)

I had been planning to call Perl in a subprocess, but this of course will be much more fun (if it works).

I'll be particularly wanting to know how it interacts with MzScheme threads...


1 point by mst 4495 days ago | link

If you do have a go, mail me at mst ->, I know a bit about the perl side of things and my first CPAN release was fixups to so I'd be interested to help you.


1 point by CatDancer 4495 days ago | link

Hmm, Language::MzScheme isn't compiling against MzScheme v352. The documentation says it works with MzScheme v200 or greater, so I suspect it might not have made the transition to the v300 series.


I think I'd rather have an 'outer user scope'.

i.e. something like

(fn geteuid () (car user-stack)) (fn getuid () (cadr user-stack))

that way you can cons on suid and 'pop' outwards.

It's always seemed a trifle annoying to me that when you suid from within something that's already suid you lose information.


1 point by dfranke 4497 days ago | link

You can implement this on top of my given axioms. My system isn't meant to be friendly; it's meant to be the simplest possible building blocks for a friendly system.


1 point by mst 4502 days ago | link | parent | on: Take the Arc Challenge

Looking at clients' deployed applications, the web boxes tend to average over a year's uptime so I can't say it seems like it'd matter that much.

Provided you've got runtime code loading and a useful QA process, I don't really see why you'd need to care - MySQL's lack of transactional DDL causes far more downtime than lack of serialisation would were we using a continuation-based system.


1 point by albertb 4502 days ago | link

"web boxes tend to average over a year's uptime so I can't say it seems like it'd matter that much."

Unless there is a five or six nines SLA.

"Provided you've got runtime code loading and a useful QA process,"

Hardware might crash as well.

"MySQL's lack of"

That one is really good.


3 points by mst 4503 days ago | link | parent | on: Is Arc good for big projects?

... and scopes.

Javascript's scope chaining is one of my most and least favourite things about the language. But it's a damn clever approach once you get it.


4 points by mst 4505 days ago | link | parent | on: Technical Comments on Arc

Personally, lisp-2-ness is the thing I most despise about CL - and I'd note that it was originally an implementation detail that seriously consideration was given to changing, stopped primarily by the "but everybody's already implemented it" principle that arc's current refusal of backcompat is designed to avoid.

I do see your point re (with (a nil b nil c nil) but I don't really see why this justifies more than a (with-nil (a b c) macro.


1 point by fab13n 4503 days ago | link

> lisp-2-ness is the thing I most despise about CL

It's conceptually ugly, but that's what makes non-hygienic macros usable.

A macro which uses a global variable is broken when used in a context which shadows this variable; if functions are not "normal" globals, there is much less chances that you'll shadow them accidentally.


1 point by mst 4505 days ago | link | parent | on: Ask PG: Why the Perl Artistic License?

Just make sure it's Artistic License v2; there are some doubts over v1 and while most of the perl community doesn't really seem to be worried by them certain distros (notably fedora) dislike it and tend to spam people with software under it asking them to relicense.

Me, I just use the perl5 license and tell the people who don't like AL1 they can use the GPL half of the disjunction if it upsets them so much.


1 point by icemaze 4504 days ago | link

It is: "Permission to use it is granted under the Perl Foundations's Artistic License 2.0."


5 points by mst 4505 days ago | link | parent | on: I hereby propose...

I like 'arcanist'.

Then I can call my scripts 'lesser arcana'