Hacker News new | past | comments | ask | show | jobs | submit | romac's comments login

If you haven't seen those already, you might also want to check out:

  - Apalache: a symbolic model checker for TLA+ backed by Z3 (https://apalache-mc.org)
  - Quint: a modern and executable specification language with TLA+-like semantics, that integrates with Apalache (https://quint-lang.org)


Quint looks great, thanks for the link!


I wonder if this could be made to work in the browser using CheerpJ?

https://cheerpj.com


Interesting. I hadn't heard of this before. I'll have to check it out.


Lead dev of CheerpJ here, if you need support you can find us on Discord: https://discord.gg/X9ruPkchM5

Edit: Tool a quick look at the repo, if the game is a Java 8 Swing application (as it seems) then it will most likely work out-of-the-box with CheerpJ


Ported my java game to Cheerp and it was the easiest thing ever. I highly recommend and you can see the results here: http://liarsdiceonline.com

Only criticism is that it can take a few MINUTES to initially load the game and there isn't a loading bar or anything


I see the game was ported with the legacy CheerpJ 2.3 runtime. Consider upgrading to the new CheerpJ 3.0. Improving boot times has been one of our main goals and upgrading is very easy: https://cheerpj.com/docs/migrating-from-cheerpj2


Fun game! I thought you programmed it wrong till I realized in your version of liars dice 1s are wild. Also never played the way of guessing the total number of dots, and we always have loser go first on the next round. Thanks for sharing!


In our game, one's are wild unless ones are specifically called. Yes, the loser should go next.


Vale has a very interesting approach to memory safety, without garbage collection or a borrow checker, using a memory management technique called "generational references" which I had never heard of previously.


Has anyone received that kit yet? What are your thoughts on it?


I have one of the first version (on breadboard). I like it.

You also get a tonne of support on discord, with lots of videos teaching the various intricacies of the Apple I computer.


Great to hear, thanks!


I like how Rust does it with the `Ordering` type and associated combinators: https://doc.rust-lang.org/stable/std/cmp/enum.Ordering.html

For two values `x` and `y` of the same type with fields `a` and `b`, this lets you compare on `a` first and then on `b` by writing

``` x.a.cmp(&y.a).then(x.b.cmp(&y.b)) ```


In fairness that was directly inspired by Haskell’s type of the same name: https://hackage.haskell.org/package/base-4.17.0.0/docs/Prelu...


Not bad but I think python's way - using tuples is cleaner

  (x.a, x.b) < (y.a, y.b)
btw you can format as code by indenting two spaces.


Direct link to the Apalache model checker: https://apalache.informal.systems/


You nailed it, that's exactly what we use Z3 for in Apalache, a symbolic model checker for TLA+: https://apalache.informal.systems


"From October 1 [2013], an adult caught smoking cannabis in Switzerland can escape formal legal proceedings by simply paying a fine."

http://www.swissinfo.ch/eng/swiss_news/Mixed_feelings_over_n...


There is indeed. Take a look at require.extensions:

http://nodejs.org/api/globals.html#globals_require_extension...


Neat! With a little bit of googling, it seems CoffeeScript can do the same thing. That lowers the barrier-to-usage of compile-to-js languages enormously!

Now I'm looking at the sweet.js source where they register the extension, and there's some additional magic I don't recognize; is module._compile documented somewhere that I just can't find, or is that getting added somewhere in the sweet.js code?


I don't think it is. I seem to recall Isaac saying that he considers require.extensions to be a mistake, though I don't know if he meant the concept (extensibility) or implementation (register hooks under filename extensions). Either way, I think it's recognized that a lot of people enjoy and use the functionality so it's unlikely to go away.

As an aside, here's the relevant bit of code that loads the (already compiled) source as a module: https://github.com/joyent/node/blob/master/lib/module.js#L40...


Here is another interesting C/Objective-C Q&A: http://www.eosgarden.com/en/articles/objc-quizz/


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: