Arc Forumnew | comments | leaders | submitlogin
1 point by akkartik 1623 days ago | link | parent

Yeah, I took your advice:

  (examples do
    (do (prn "line 1")
	(prn "line 2")
	(prn "line 3"))
Here's how it looks:

  arc> (help do)
  [mac] (do . args)
  Evaluates each expression in sequence and returns the result of the
  last expression.

    arc> (do (prn "line 1")
	     (prn "line 2")
	     (prn "line 3"))

2 points by fallintothis 1622 days ago | link

Actually, stdout should be easy to test with tostring, no?

In fact, if you're just testing REPL interactions...

  (mac repl-output (expr)
       (write (eval ',expr))

  arc> (repl-output (prn 'hi))
  arc> (repl-output (prn "hi"))
  arc> (repl-output 'hi)
  arc> (repl-output (do prn.1 prn.2 prn.3))
(Any gotchas with the above?)

It makes sense to specify the example expr / expected pairs as sexps & strings: run repl-output on exprs, compare those strings to the expected strings.


2 points by akkartik 1622 days ago | link

Thanks for thinking through that! Yes, I'd had a similar though not as fully-formed idea, but was stuck on distinguishing stdout from return value in the examples. But yeah, that's overthinking it -- we have to mentally parse the two at the repl anyway.

Only other quibble: a string isn't very nice to read next to code, even if it looks nice at the repl. Hmm..


2 points by shader 1623 days ago | link

Do you get notifications for arc forum posts/comments? Or do you just check really often?


1 point by akkartik 1623 days ago | link

I'm just obsessive for short periods :)


2 points by shader 1623 days ago | link

Ah. About the same as me then.

Maybe we should make an auto scraper/notifier? Though iirc, the arc server doesn't really appreciate frequent queries. On closer look, it should be fine; the default throttle window should be 10s. It could query once a minute, and update an rss feed for arc forum posts and comments. Or provide webhook + email support.


1 point by akkartik 1622 days ago | link

I actually built one back in the day: Trouble was, it kept getting banned/blocked even when I scaled back to crawl HN every five minutes. Eventually I was crawling so infrequently that I was missing stories that dropped off /newest in the meantime, so I stopped crawling.

I actually had an arc version for a brief period[1], but it didn't seem like there was as much need for it here. But perhaps the email notifications would be useful. I'll see if I can bring it back.

[1] I was certain I'd showed it here, but no I only showed it over email to a couple of folks. I really should bring it back just so y'all can look at it. Or at least locate the (rails) sources.