Git Product home page Git Product logo

byok3's Introduction

Hi there ๐Ÿ‘‹

Here's a small selection of personal projects I've got hosted in Github:

  • UK Ordnance Survey maps - A small frontend app written in Typescript using React, Chakra UI and Leaflet.js, deployed with Github Actions and hosted via Github Pages. maps-leisure

  • Zaup 2.0 - Another frontend app (also Typescript, React, Chakra) that displays imported TOTP codes. It is another "serverless" app - all the data is persisted in local storage (and AES encrypted) screenshot

  • Asteroids - A golang implementation of the classic arcade game that cross-compiles into WASM so you can play it in a browser. screenshot

  • 8-bit Trip - An experiment in webaudio. web-app

  • BYOK 3 - A Forth interpreter/compiler written in Scala with Cats. screencast

byok3's People

Contributors

rm-hull avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

byok3's Issues

Test Failure: F3.03 - Shifts

Test case failure:

INCORRECT RESULT: T{ 1S 2/ -> 1S }T                \ MSB PROPOGATED

Actual result:

1S .
-1   ok

1S 2/ . 
0   ok

Test Failure: F3.10 - division

Missing implementation of FM/MOD:

Left(byok3.data_structures.Error: word not found: FM/MOD, in file: forth/F3.10_division.fth:4) was not equal to Right(OK)
ScalaTestFailureLocation: byok3.WordTest at (WordTest.scala:44)
Expected :Right(OK)
Actual   :Left(byok3.data_structures.Error: word not found: FM/MOD, in file: forth/F3.10_division.fth:4)

Test Failure: F3.05 - Comparisons

Test case failure:

INCORRECT RESULT: T{ MID-UINT MAX-UINT U< -> <TRUE> }T

Actual result:

MID-UINT MAX-UINT <TRUE> .S
7fffffff -1 -1   ok...

MID-UINT MAX-UINT U< .
0   ok...

Test Failure: F3.19 - number patterns

Test case failure:

INCORRECT RESULT: T{ GP3 -> <TRUE> }T
INCORRECT RESULT: T{ GP4 -> <TRUE> }T
INCORRECT RESULT: T{ GP5 -> <TRUE> }T
INCORRECT RESULT: T{ GP6 -> <TRUE> }T
INCORRECT RESULT: T{ GP7 -> <TRUE> }T
INCORRECT RESULT: T{ 1 0 GN' 1' >NUMBER -> BASE @ 1+ 0 GN-CONSUMED }T
INCORRECT RESULT: T{ MAX-UINT 0 2 GN1 -> MAX-UINT 0 0 }T
INCORRECT RESULT: T{ MAX-UINT DUP 2 GN1 -> MAX-UINT DUP 0 }T
INCORRECT RESULT: T{ MAX-UINT 0 MAX-BASE GN1 -> MAX-UINT 0 0 }T
INCORRECT RESULT: T{ MAX-UINT DUP MAX-BASE GN1 -> MAX-UINT DUP 0 }T

Test Failure: F3.18 - parser input

Test case failure:

INCORRECT RESULT: SOURCE -> <TRUE> <TRUE> }T
WRONG NUMBER OF RESULTS: -> 345 345 }T
WRONG NUMBER OF RESULTS: 123 RESCAN?23 123 123 123 123 }T
WRONG NUMBER OF RESULTS: -> }T

Probably related to #13

Handle input too big with forth error rather than crashing with JVM exception

ERROR [OneForOneStrategy]: invalid memory address: input string too long
byok3.data_structures.Error: invalid memory address: input string too long
	at byok3.data_structures.Error$.apply(Error.scala:76)
	at byok3.data_structures.Context$.input(Context.scala:185)
	at byok3.Interpreter$.apply(Interpreter.scala:84)
	at byok3.data_structures.Context.eval(Context.scala:97)
	at byok3.web.actors.StackMachine$$anonfun$receive$1.$anonfun$applyOrElse$1(StackMachine.scala:68)
	at scala.runtime.java8.JFunction0$mcV$sp.apply(JFunction0$mcV$sp.java:12)
	at scala.util.DynamicVariable.withValue(DynamicVariable.scala:58)
	at scala.Console$.withOut(Console.scala:163)
	at byok3.web.actors.StackMachine.byok3$web$actors$StackMachine$$capturingOutput(StackMachine.scala:78)
	at byok3.web.actors.StackMachine$$anonfun$receive$1.applyOrElse(StackMachine.scala:62)
	at akka.actor.Actor.aroundReceive(Actor.scala:517)
	at akka.actor.Actor.aroundReceive$(Actor.scala:515)
	at byok3.web.actors.StackMachine.aroundReceive(StackMachine.scala:50)
	at akka.actor.ActorCell.receiveMessage(ActorCell.scala:527)
	at akka.actor.ActorCell.invoke(ActorCell.scala:496)
	at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:257)
	at akka.dispatch.Mailbox.run(Mailbox.scala:224)
	at akka.dispatch.Mailbox.exec(Mailbox.scala:234)
	at akka.dispatch.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260)
	at akka.dispatch.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339)
	at akka.dispatch.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979)
	at akka.dispatch.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107)
INFO  [StackMachine]: Starting stack machine: Actor[akka://byok3/user/supervisor/63815d34-54fe-4d61-b1ff-c1a91445ab83#-38692108]

Test Failure: F3.09 - multiplication

Test case failure:

INCORRECT RESULT: T{ 2 MIN-INT M* -> 0 1S }T
INCORRECT RESULT: T{ 2 MAX-INT M* -> MAX-INT 1 LSHIFT 0 }T
INCORRECT RESULT: T{ MIN-INT MIN-INT M* -> 0 MSB 1 RSHIFT }T
INCORRECT RESULT: T{ MAX-INT MIN-INT M* -> MSB MSB 2/ }T
INCORRECT RESULT: T{ MAX-INT MAX-INT M* -> 1 MSB 2/ INVERT }T
INCORRECT RESULT: T{ MID-UINT+1 1 RSHIFT 2 UM* -> MID-UINT+1 0 }T
INCORRECT RESULT: T{ MID-UINT+1 2 UM* -> 0 1 }T
INCORRECT RESULT: T{ MID-UINT+1 4 UM* -> 0 2 }T
INCORRECT RESULT: T{ 1S 2 UM* -> 1S 1 LSHIFT 1 }T
INCORRECT RESULT: T{ MAX-UINT MAX-UINT UM* -> 1 1 INVERT }T

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.