Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Commits on Jul 1, 2010
  1. [README] updated

  2. [Yapsi] implemented 'while' loops

    Fairly straightforward after having done 'if' statements -- the necessary
    SIC instructions turned out to be just the same ones. Also added prefix:<-->
    so that it's easier to write 'while' loops that halt.
  3. [Yapsi] implemented if, if/else statements

    This required a few new SIC opcodes, 'jf' (jump if false) and 'jmp'
    (jump unconditionally).
Commits on Jun 12, 2010
  1. @svatsan

    Add more info about building yapsi and make the

    svatsan authored
    yapsi executable shebang more generic.
Commits on Jun 1, 2010
  1. [logotype] brighter

    It looked far too somber with navy blue. Brightened it up a bit.
  2. [Yapsi] bumped SIC version

    Between releases, the SIC version is always the version number of the
    upcoming release.
  3. [doc/announce/2010.06] added

  4. [ChangeLog] updated

  5. [README] some more guidance about alpha

    Still not enough, though. :/
  6. [logotype] next iteration

    Still not perfect, but hopefully an improvement.
  7. [logotype] added

Commits on May 3, 2010
  1. [Yapsi] bumped SIC version

    Between releases, the SIC version is always the version number of the
    upcoming release.
Commits on May 1, 2010
  1. [doc/announce/2010.05] fixed a few typos

    'Gasp! He's changing the announcement post-release!' No, actually these
    typos were found by by wolverian++ before the release announcements were
    sent out (but after the uploading of the release tarball).
  2. [README] updated

  3. [Yapsi] expose the runtime state a bit more

    This commit is explicitly tailored to expose the parts that Tardis will need
    in order to register the state at each tick.
    The four calls to self.*tick (beginning of program, after assignment, after
    binding, after call to &say) are in a way arbitrary, but it's the best
    guess we have right now as to what a debugger needs. The reason we use a
    * rather than a ? in the call is so that many deriving classes will be able
    to have their .tick method invoked. Will be interesting to see if that
    distinction will actually be important to someone.
  4. [yapsi] make target really case-insensitive

    Both uc and lc variants parsed before, but now both of them actually work.
  5. [] added Yapsi::Environment

    This enables passing an environment (containing all the lexical variables set
    at runtime) into another compilation, allowing for such things as BEGIN time
    and a REPL.
Commits on Apr 29, 2010
  1. @snarkyboojum
Commits on Apr 28, 2010
  1. [Yapsi] turned many attributes into contextuals

    By the principle that variables shouldn't have a wider scope than necessary.
    These particular variables are only needed during the .compile call, so
    contextuals rooted in this method fit nicely.
  2. [Yapsi] counting blocks without gaps

    Blocks are now always given the name main_x_y_z etc, where x, y, and z start
    at 1 and don't have any gaps.
Commits on Apr 27, 2010
  1. [yapsi] added --target argument

    The allowed targets are currently 'run' (the default), and 'sic' (which
    outputs the compiled SIC instead of running the program). Capitalization
    doesn't matter, so --target=SIC works as well as --target=sic.
  2. [Yapsi] whitespace therapy

  3. @snarkyboojum

    Change to generate unique names for same-level blocks and added a run…

    snarkyboojum authored
    …time test to validate that.
    Block numbering can be improved upon later.
Commits on Apr 26, 2010
  1. [.gitignore] added

  2. [Yapsi] blocks now return

    A block doesn't return *values*, mind, it just returns to the executing scope
    that called it.
  3. [t/compiler.t] one more test

    Which passes already.
  4. [Yapsi] autovivification workaround

    A few tests broke in t/compiler.t due to the mistake that this workaround
  5. [Yapsi] first shot at blocks and scopes

    There's no stack yet, and thus no proper block exit back to surrounding blocks.
    But calling a block from another block works, and each block has its own
    lexical pad.
  6. [Yapsi] blocks now return values

Something went wrong with that request. Please try again.