Arc Forumnew | comments | leaders | submit | ryantmulligan's commentslogin
6 points by ryantmulligan 6391 days ago | link | parent | on: Two part noob question

Great reply, you are exactly what the Arc community needs to succeed!

-----

3 points by ryantmulligan 6391 days ago | link | parent | on: Another, older wannabe neo-Lisp

Optional & User Defined Typing maybe

-----

3 points by pg 6391 days ago | link

By optional, do you mean optional type declarations like you might get with this?

  (mac declare args
    `(do ,@(map (fn ((x y))
                  (w/uniq g
                    `(let ,g ,y
                       (unless (isa ,g ',x) (error "Bad type." ',x ,g)))))
                (pair args))))
For user-defined typing, do you need something more than annotate?

-----

5 points by Jekyll 6391 days ago | link

Qi is completely type inferring, so it proves the type correctness of the code at compile time from a minimum number of declarations, like the ML family of languages.

However, as this is optional, it can also be switched off in places to handle code that the type system can not prove correct.

To make a similar system work, you'd have to label the inputs and return type of each function, and enforce the consistency of this, all at compile time. There is a complete prolog system buried in QI allowing the types to self reference and be turing complete in terms of complexity.

Having said that, the whole of QI is only meant to be 4k lines of common lisp and under an MIT license, so it'd be quite easy to port the interesting bits of it once the core of arc has stabilised.

-----

1 point by ryantmulligan 6391 days ago | link

pg, I was referring to Jekyll's explanation of optional typing. The 'maybe' means that I don't know the value in it, I've just heard that some people like it.

-----

2 points by jules 6388 days ago | link

How can Qi be type inferring when its type system is turing complete?

-----

1 point by Jekyll 6387 days ago | link

IRC, the type inference is not guaranteed to terminate in pathological cases.

-----

0 points by jules 6334 days ago | link

You mean type checking.

-----

5 points by ryantmulligan 6391 days ago | link | parent | on: Meta Forum Questions

I have another meta question. When you post an external link in the title of a submission it makes it hard to get to the comment thread. Any chance of a link to the comments in the description of the RSS item?

-----

2 points by sacado 6391 days ago | link

Yep, I'm ok with you on this one too. Particularly annoying when you open a new tab in Firefox to read the thread later, but get redirected to another site...

-----

6 points by ryantmulligan 6392 days ago | link | parent | on: New version

it would be nice if we made specs to test the language, a la Rubinius, while the language is still small. Then, we could say with greater confidence of the merge.

-----

0 points by ryantmulligan 6392 days ago | link | parent | on: Should Arc support infix notation?

maybe..

-----


I think that people want comments to have value in them. The best example of why this might get downmodded is if you look at it on the comments page it just looks like +1 without any context. So in that case it looks like a pretty vacuous comment. I think that if you enjoy a submission just upmod it. If you have something to add to the conversation add it.

-----

1 point by ryantmulligan 6392 days ago | link | parent | on: Advice about reader macros

I think all of this reader macro/module comments would go away if pg just said whether he is going to think about these eventually.

-----


There are some issues with converting procedures to strings. Procedures that are closures can contain references to the environment. Then if you put an (eval) in there that makes it impossible without carrying around the entire lexical environment in the string of the procedure.

-----

1 point by ryantmulligan 6393 days ago | link | parent | on: Stupid noob question

Nice. I don't know how this worked in other Lisps, but I like the consistency of how calls map to function definition signatures.

-----


Another language I have encountered uses the ? to mean optional.

http://haxe.org/ref#optional_arguments

On a different vein: this language reference page is probably the best language reference I've ever seen for a language.

-----

More