profile
viewpoint
Peter Cowal petercowal game developer and composer

petercowal/objectdraw 1

The objectdraw graphics library for Grace, implemented for the DOM

gracelang/summer2016 0

Staging repository for work products of PSU Grace team during summer 2016

khuddlefish/HackathonF2015 0

Repository for the Fall 2015 hackathon at the Claremont Colleges

petercowal/2016_Season 0

Team 2374 2016 robot (Stronghold)

petercowal/ace 0

Ace (Ajax.org Cloud9 Editor)

petercowal/Atom-Grace 0

An Atom package that adds syntax highlighting for the Grace programming language.

petercowal/embedded-web-editor 0

A simple web editor for embedding in tutorial pages. No local file storage.

petercowal/GameBase 0

Just a basic graphics/sound framework for Java

PR opened gracelang/grace-web-editor

Bump node-notifier from 8.0.0 to 8.0.1 in /typescript

Bumps node-notifier from 8.0.0 to 8.0.1. <details> <summary>Changelog</summary> <p><em>Sourced from <a href="https://github.com/mikaelbr/node-notifier/blob/v8.0.1/CHANGELOG.md">node-notifier's changelog</a>.</em></p> <blockquote> <h3><code>v8.0.1</code></h3> <ul> <li>fixes possible injection issue for notify-send</li> </ul> </blockquote> </details> <details> <summary>Commits</summary> <ul> <li><a href="https://github.com/mikaelbr/node-notifier/commit/5d62799dab88505a709cd032653b2320c5813fce"><code>5d62799</code></a> v8.0.1</li> <li><a href="https://github.com/mikaelbr/node-notifier/commit/0c4a80df9a3b5015cd1e1ab858e008be3fece082"><code>0c4a80d</code></a> chore: adds changelog</li> <li><a href="https://github.com/mikaelbr/node-notifier/commit/f5a7bc647589fc89ac64b0f1d259a853fcf057bc"><code>f5a7bc6</code></a> fix: test cases</li> <li><a href="https://github.com/mikaelbr/node-notifier/commit/b9d148d697d3db807f653e2e6953c3de57dfeb8a"><code>b9d148d</code></a> patch: fixes possible injection issue for notify-send</li> <li>See full diff in <a href="https://github.com/mikaelbr/node-notifier/compare/v8.0.0...v8.0.1">compare view</a></li> </ul> </details> <br />

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


<details> <summary>Dependabot commands and options</summary> <br />

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
  • @dependabot use these labels will set the current labels as the default for future PRs for this repo and language
  • @dependabot use these reviewers will set the current reviewers as the default for future PRs for this repo and language
  • @dependabot use these assignees will set the current assignees as the default for future PRs for this repo and language
  • @dependabot use this milestone will set the current milestone as the default for future PRs for this repo and language

You can disable automated security fix PRs for this repo from the Security Alerts page.

</details>

+27 -16

0 comment

1 changed file

pr created time in a month

issue closedgracelang/minigrace

odd block indentation

valueOf { print(1)
                              print(2)
                              print(3) }  

prints

1
2
3

shouldn't it complain about a missing print(_)print(_)print(_) method?

closed time in a month

kjx

issue closedgracelang/minigrace

Type parameters in binary operator request are ignored

Consider the following:

method +[[T]](x) { print(T) }
self +[[String]] self

It prints "type Unknown", whereas I would expect "type String".

closed time in a month

IsaacOscar

issue commentgracelang/minigrace

Type parameters in binary operator request are ignored

This is not so much a bug as an unimplemented feature. Implementing required changes to the ast, parser, and code generator.

As of 11f1708 (minigrace version 5063), type arguments in binary operators now work as expected. The above example prints "type String"

IsaacOscar

comment created time in a month

push eventgracelang/minigrace

Andrew P. Black

commit sha d66018d10ea91981fe9b3ff0f86588a0814e3ce7

Improves comment That's all

view details

Andrew P. Black

commit sha 4f9f14390c922ced888df25903e0faa6bb68b41a

Indents receiver when prettyprinting calls When the receiver is itself a call, this makes the pretty print output easier to interpret.

view details

Andrew P. Black

commit sha 5fbedb5a2c65882877fbd21aa51a1d88a74db273

Fixes for operators with type arguments The methods to print and copy type arguments were broken, and type argumenst were not being visited.

view details

Andrew P. Black

commit sha 523b866ab86063accb544356cb78be873321d38b

Converts operator stack to objects Formerly, the stack contained strings, so there was no place to put associated information, such as type arguments

view details

Andrew P. Black

commit sha 11f170812af05fd139d613799a58399647aeb3f4

Generates code for operator with type argument Adds test for this case

view details

push time in a month

startedmajorkira/scrimba

started time in a month

issue commentgracelang/minigrace

Public variables not handled properly in generating gct files

Fixed in 98f4aba. Interestingly, this bug appears to have been present ever since methodTypes were introduced.

Arguably, methodTypes are now unnecessary, since the method signature information out to be present in the symbol table entry. Currently, the return types are there, but not the parameter types. So myVar has the following symbol table entries in the gct:

 myVar String (var) $scopeEmpty public
 myVar:=(1) String (var) $scopeEmpty public

If the second entry were changed to

myVar:=(_:String)  String (var) $scopeEmpty public

all of the information in methodTypes would be present in the gct scopes.

Note that at present methodTypes are generated by walking the AST, and so do not include entries for method imported from another module. This is another reason to eliminate methodTypes.

I'll leave this issue open until methodTypes are either eliminated, or made to work.

KimBruce

comment created time in a month

push eventgracelang/minigrace

Andrew P. Black

commit sha 85848945e0a618f4a6de7f89474870de5ab0d0e1

Adds writerNameString attribute to variables This attribute generates {nameString}:=(1)

view details

Andrew P. Black

commit sha 98f4abacdb97e96039e1edecc448bb3406b8770f

Puts writer signature at writerNameString Refactors identifierResolution to use writerNameString. Fixes issue #328, which seems to have been present ever since methodTypes were added to the gct. Writer signature was being placed at key {nameString}, overwriting the reader signature.

view details

push time in a month

startedmajorkira/AdventOfCode

started time in a month

issue closedgracelang/minigrace

Error compiling match(_)case(_)

Compiler error in identifierResolution.grace on line 244. It is apparently calling method uid on "done". This was raised by compiling the same code that generated the last compiler error.

Error message:

Internal compiler error at line 0 of native code. NoSuchMethod: no method uid on done (defined in module built-in library).
NoSuchMethod: no method uid on done (defined in module built-in library).
  raised from serializeVariable(_)withName(_)in(_) at line 244 of identifierresolution
  requested from block.apply(_,_) at line 181 of identifierresolution
  requested from block.apply(_,_) at line 324 of scope
  requested from nameDictionary(_).keysAndValuesDo(_) at line 1247 of collections
  requested from objectScope.localAndReusedNamesAndValuesDo(_)filteringOut(_) at line 322 of scope
  requested from objectScope.localAndReusedNamesAndValuesDo(_) at line 765 of scope
  requested from block.apply at line 1 of identifierresolution
  requested from while(_)do(_) at line 113 of intrinsic
  requested from generateGctForModule(_) at line 173 of identifierresolution
  requested from writeGctForModule(_) at line 125 of identifierresolution
  requested from compile(_,_,_,_) at line 1717 of genjs
  requested from block.apply at line 82 of compiler
  requested from compileInputFile at line 23 of compiler
Compilation terminated.
    in "minigrace"

closed time in 2 months

KimBruce

issue closedgracelang/minigrace

Missing method in scope.grace

Method meet is not defined in class universalScope in module scope.grace. Error message is

Internal compiler error at line 0 of native code. NoSuchMethod: 
no method meet(_) on universalScope the universal scope 
(defined in module scope, line 144)

The error is triggered in compiling module Piece in program LineTris by Kim Bruce

closed time in 2 months

KimBruce

issue commentgracelang/minigrace

Error compiling match(_)case(_)

This is fixed in commit cc7ac00 (minigrace version 5056)

The problem was forgetting to return the calculated result in the attributeScope method on matchCase AST nodes. A type-checker would have caught this.

KimBruce

comment created time in 2 months

push eventgracelang/minigrace

Andrew P. Black

commit sha 7e8df4581392c43aa239a9dedcee87309d20be0e

Adds test for issue #332 Attribute scope of Match(_)case(_) not being returned

view details

Andrew P. Black

commit sha cc7ac009692c7b842c81dd7b5e0239dacc25ede0

Fixes issue #332 Returns result in attributeScope method

view details

push time in 2 months

issue commentgracelang/minigrace

Compiler error with "done"

The reason it took time is it was part of a complex program involving 5 files and lots of interconnections. Interestingly when I started cutting it down I got a few different (but likely related) problems. Hopefully they’ll all go away when this is fixed.

Thanks for looking at this!

Kim

On Dec 1, 2020, at 10:35 AM, Andrew Black notifications@github.com wrote:

Thank you. Although it's nice to have minimal code that provokes the error, just linking to the file in a repo that contains any code that provokes the error is ok. Not having the code makes it impossible to debug.

This is not an initialization problem, It's a compiler bug arising when trying to construct the scope for current. When current is a var, no attempt is made to construct its scope, because the scope can be different after each assignment.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/gracelang/minigrace/issues/332#issuecomment-736740329, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAN2D6UHUC4VJ5J2ZIPPEJDSSUZQFANCNFSM4UGEGIWQ.

KimBruce

comment created time in 2 months

issue commentgracelang/minigrace

Compiler error with "done"

Thank you. Although it's nice to have minimal code that provokes the error, just linking to the file in a repo that contains any code that provokes the error is ok. Not having the code makes it impossible to debug.

This is not an initialization problem, It's a compiler bug arising when trying to construct the scope for current. When current is a var, no attempt is made to construct its scope, because the scope can be different after each assignment.

KimBruce

comment created time in 2 months

issue commentgracelang/minigrace

Compiler error with "done"

After lots of experimentation, here is pretty minimal code that generates the problem:

class pieceOn (colorNum: Number) {

    def current: Number = match(colorNum)
        case {1 -> 2}
        case {2 -> 3}
        case {3 -> 4}
        case {4 -> 5}
    
}

The error goes away if you replace the "def" by "var". I suspect it is an initialization timing problem with match of the right hand side.

Here is the error message again:

Internal compiler error at line 0 of native code. NoSuchMethod: no method uid on done (defined in module built-in library).
NoSuchMethod: no method uid on done (defined in module built-in library).
  raised from serializeVariable(_)withName(_)in(_) at line 244 of identifierresolution
  requested from block.apply(_,_) at line 181 of identifierresolution
  requested from block.apply(_,_) at line 324 of scope
  requested from nameDictionary(_).keysAndValuesDo(_) at line 1247 of collections
  requested from objectScope.localAndReusedNamesAndValuesDo(_)filteringOut(_) at line 322 of scope
  requested from objectScope.localAndReusedNamesAndValuesDo(_) at line 765 of scope
  requested from block.apply at line 1 of identifierresolution
  requested from while(_)do(_) at line 113 of intrinsic
  requested from generateGctForModule(_) at line 173 of identifierresolution
  requested from writeGctForModule(_) at line 125 of identifierresolution
  requested from compile(_,_,_,_) at line 1717 of genjs
  requested from block.apply at line 82 of compiler
  requested from compileInputFile at line 23 of compiler
Compilation terminated.
    in "minigrace"
KimBruce

comment created time in 2 months

issue commentgracelang/minigrace

Compiler error with "done"

Please provide the code that generates this error

KimBruce

comment created time in 2 months

issue openedgracelang/minigrace

Compiler error with "done"

Compiler error in identifierResolution.grace on line 244. It is apparently calling method uid on "done". This was raised by compiling the same code that generated the last compiler error.

Error message:

Internal compiler error at line 0 of native code. NoSuchMethod: no method uid on done (defined in module built-in library).
NoSuchMethod: no method uid on done (defined in module built-in library).
  raised from serializeVariable(_)withName(_)in(_) at line 244 of identifierresolution
  requested from block.apply(_,_) at line 181 of identifierresolution
  requested from block.apply(_,_) at line 324 of scope
  requested from nameDictionary(_).keysAndValuesDo(_) at line 1247 of collections
  requested from objectScope.localAndReusedNamesAndValuesDo(_)filteringOut(_) at line 322 of scope
  requested from objectScope.localAndReusedNamesAndValuesDo(_) at line 765 of scope
  requested from block.apply at line 1 of identifierresolution
  requested from while(_)do(_) at line 113 of intrinsic
  requested from generateGctForModule(_) at line 173 of identifierresolution
  requested from writeGctForModule(_) at line 125 of identifierresolution
  requested from compile(_,_,_,_) at line 1717 of genjs
  requested from block.apply at line 82 of compiler
  requested from compileInputFile at line 23 of compiler
Compilation terminated.
    in "minigrace"

created time in 2 months

issue closedgracelang/minigrace

Compiler crash on error

The following incorrect program omits a final closing "{"

method brighten -> Done {
  def lighten: Number = 100
  def newRed: Number = if (true) then { print "hi"} else {
       print "there"
  }

It generates the following error message in the browser version:

Internal compiler error at line 423 of collections. BoundsError: index 6 but list has size 5
BoundsError: index 6 but list has size 5
  raised from list.at(_) at line 423 of collections
  requested from suggestion.new.getLine(_) at line 272 of errormessages
  requested from suggestion.new.deleteRange(_,_)onLine(_) at line 69 of errormessages
  requested from suggestion.new.deleteToken(_)leading(_)trailing(_) at line 173 of errormessages
  requested from suggestion.new.deleteToken(_) at line 177 of errormessages
  requested from methodDeclaration(_) at line 2507 of parser
  requested from methodClassOrTrait at line 2467 of parser
  requested from block.apply at line 3280 of parser
  requested from while(_)do(_) at line 113 of intrinsic
  requested from parse(_) at line 3277 of parser
  requested from block.apply at line 39 of compiler
  requested from compileInputFile at line 23 of compiler
Compilation terminated.
    in "minigrace"

closed time in 2 months

KimBruce

issue commentgracelang/minigrace

Compiler crash on error

I hacked at findClosingBrace(_, _) which was returning the wrong result. However, lack of tests and a loosely-written specification leave it unclear what result is intended. This change is in commit e2fa6085457 (minigrace version 5054)

The above example now produces a reasonable message:

Syntax error: end of program found while searching for the '}' to close a method declaration.
    in "brighten" (line 6, column 3)
KimBruce

comment created time in 2 months

push eventgracelang/minigrace

Andrew P. Black

commit sha d6cdbbf228ea05aa9e4cee6511df18413695c9f0

Removes duplicate dependency mirror was listed twice as a dependency of constantScope

view details

Andrew P. Black

commit sha e2fa6085457af58145924b479358b7b08f34f4ef

Patches findClosingBrace findClosingBrace was finding the brace that preceded a missing brace, instead of returning object { found = false, ... }

view details

push time in 2 months

issue commentgracelang/minigrace

Missing method in scope.grace

Thanks! Is it installed on the website? I can test it there.

On Nov 28, 2020, at 12:33 PM, Andrew Black notifications@github.com wrote:

The missing method is added in commit 78ddd38 https://github.com/gracelang/minigrace/commit/78ddd381160c81bdfbc134b801023a4ebbcae614 (minigrace version 5052). However, the fix is not tested, because I don't have the code that provokes the error.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/gracelang/minigrace/issues/331#issuecomment-735287271, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAN2D6T3V6IUN75ZTQ2K4LLSSFNDHANCNFSM4UF654MQ.

KimBruce

comment created time in 2 months

issue commentgracelang/minigrace

Missing method in scope.grace

The missing method is added in commit 78ddd381 (minigrace version 5052). However, the fix is not tested, because I don't have the code that provokes the error.

KimBruce

comment created time in 2 months

push eventgracelang/minigrace

Andrew P. Black

commit sha 78ddd381160c81bdfbc134b801023a4ebbcae614

Adds universalScope.meet(_)

view details

push time in 2 months

issue openedgracelang/minigrace

Missing method in scope.grace

Method meet is not defined in class universalScope in module scope.grace. Error message is

Internal compiler error at line 0 of native code. NoSuchMethod: 
no method meet(_) on universalScope the universal scope 
(defined in module scope, line 144)

The error is triggered in compiling module Piece in program LineTris by Kim Bruce

created time in 2 months

issue commentgracelang/minigrace

Compiler crash on error

It’s that blasted suggestions mechanism again!

Andrew

On 26 Nov 2020, at 15:27, Kim Bruce notifications@github.com wrote:

The following incorrect program omits a final closing "{"

method brighten -> Done { def lighten: Number = 100 def newRed: Number = if (true) then { print "hi"} else { print "there" } It generates the following error message in the browser version:

Internal compiler error at line 423 of collections. BoundsError: index 6 but list has size 5 BoundsError: index 6 but list has size 5 raised from list.at() at line 423 of collections requested from suggestion.new.getLine() at line 272 of errormessages requested from suggestion.new.deleteRange(,)onLine() at line 69 of errormessages requested from suggestion.new.deleteToken()leading()trailing() at line 173 of errormessages requested from suggestion.new.deleteToken() at line 177 of errormessages requested from methodDeclaration() at line 2507 of parser requested from methodClassOrTrait at line 2467 of parser requested from block.apply at line 3280 of parser requested from while()do() at line 113 of intrinsic requested from parse(_) at line 3277 of parser requested from block.apply at line 39 of compiler requested from compileInputFile at line 23 of compiler Compilation terminated. in "minigrace" — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/gracelang/minigrace/issues/330, or unsubscribe https://github.com/notifications/unsubscribe-auth/AADEKDPRGDWS5AQHZR34OHTSR3P6RANCNFSM4UEH4UNA.

KimBruce

comment created time in 2 months

issue openedgracelang/minigrace

Compiler crash on error

The following incorrect program omits a final closing "{"

method brighten -> Done {
  def lighten: Number = 100
  def newRed: Number = if (true) then { print "hi"} else {
       print "there"
  }

It generates the following error message in the browser version:

Internal compiler error at line 423 of collections. BoundsError: index 6 but list has size 5
BoundsError: index 6 but list has size 5
  raised from list.at(_) at line 423 of collections
  requested from suggestion.new.getLine(_) at line 272 of errormessages
  requested from suggestion.new.deleteRange(_,_)onLine(_) at line 69 of errormessages
  requested from suggestion.new.deleteToken(_)leading(_)trailing(_) at line 173 of errormessages
  requested from suggestion.new.deleteToken(_) at line 177 of errormessages
  requested from methodDeclaration(_) at line 2507 of parser
  requested from methodClassOrTrait at line 2467 of parser
  requested from block.apply at line 3280 of parser
  requested from while(_)do(_) at line 113 of intrinsic
  requested from parse(_) at line 3277 of parser
  requested from block.apply at line 39 of compiler
  requested from compileInputFile at line 23 of compiler
Compilation terminated.
    in "minigrace"

created time in 2 months

push eventgracelang/objectdraw

Andrew P. Black

commit sha 9a3253b7d9b60ddf748c12d7bd8221b61b143588

Removes commented-out code again

view details

push time in 2 months

push eventgracelang/objectdraw

Kim Bruce

commit sha 700b362b92ce84ecfe0b97e020764d1a8ac95c4a

Updated objectdraw to not rely on obsolete list operations

view details

push time in 2 months

more