Menu

#302 Terms should admit non-term children

feature_request
open
3
2006-11-18
2006-07-23
No

Discussion

  • David Hopwood

    David Hopwood - 2006-07-24

    Logged In: YES
    user_id=634468

    I agree. This would make term trees significantly more useful.

     
  • Mark Samuel Miller

    Logged In: YES
    user_id=54168
    Originator: YES

    Currently (as of 0.8.37b), Terms do admit non-term children, even though they are *statically* declared to be DeepPassByCopy.

    ? def fooTerm :DeepPassByCopy := makeTerm(fooTag, 3, null, [[].diverge()]); null
    ? fooTerm.getArgs()
    # value: [[].diverge()]

    ? fooTerm.getArgs()[0].push(3)
    ? fooTerm.getArgs()
    # value: [[3].diverge()]

    This inconsistency is a security hole, promoting this bug.

     
  • Mark Samuel Miller

    • milestone: 495452 --> 495451
    • priority: 3 --> 8
     
  • Mark Samuel Miller

    Logged In: YES
    user_id=54168
    Originator: YES

    Oops. Necessary prefix on prior updoc lines:

    ? def <qq> := <import:org.quasiliteral.*>
    ? def makeTerm := <qq:term.makeTerm>
    ? def makeTag := <qq:astro.makeAstroTag>
    ? def fooTag := makeTag(-1, "foo", null)

     
  • Mark Samuel Miller

    Logged In: YES
    user_id=54168
    Originator: YES

    The security issue has been fixed, leaving the original bug. Therefore, this bug has been downgraded to feature request.

    ? def <qq> := <import:org.quasiliteral.*>
    ? def makeTerm := <qq:term.makeTerm>
    ? def makeTag := <qq:astro.makeAstroTag>
    ? def fooTag := makeTag(-1, "foo", null)

    ? def fooTerm :DeepPassByCopy := makeTerm(fooTag, 3, null,
    > [[].diverge()]); null
    # problem: <ClassCastException: FlexListImpl doesn't coerce to a Term>

     
  • Mark Samuel Miller

    • status: open --> closed
     
  • Mark Samuel Miller

    • milestone: 495451 --> feature_request
    • priority: 8 --> 3
     
  • Mark Samuel Miller

    • status: closed --> open
     
  • Mark Samuel Miller

    Logged In: YES
    user_id=54168
    Originator: YES

    Oops, meant to downgrade it to feature request but leave it open.

     

Log in to post a comment.