Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
gergoerdi
searching Neon…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
7 ms
·
1.
▲
by
gergoerdi
7mo ago
If your type system is HM, consider a compositional type system instead, for much better explainability of type derivations and type errors: https://unsafePerform.IO/projects/talks/2016-06-compty/CompT...
2.
▲
Formatting serial streams in hardware with Clash/Haskell
(unsafeperform.io)
3 points
by
gergoerdi
2y ago
|
0 comments
3.
▲
by
gergoerdi
5y ago
Debugging via high-level simulation is something my book spends a lot of time on. If you look at the sample chapters, you can see that the same Clash code can also be compiled into software Haskell, which you can then interface with non-syn
4.
▲
by
gergoerdi
5y ago
Your website is of course referenced in the Compucolor II chapter of the book. It was invaluable in getting my Compucolor II implementation working. In fact, I even sent you a PR to fix the TMS 5501 chip's behaviour to match its datash
5.
▲
by
gergoerdi
5y ago
In the book (see the sample chapter 8 at https://unsafeperform.io/retroclash/#samples ) we create a proto-almost-game (just a bouncing ball) first by directly wiring together signals. However, the resulting circuit desc
6.
▲
by
gergoerdi
5y ago
Previous discussion on HN about Clash itself: https://news.ycombinator.com/item?id=23096338 https://news.ycombinator.com/item?id=9516217
7.
▲
Show HN: Retrocomputing with Clash: Haskell for FPGA Hardware Design
(unsafeperform.io)
80 points
by
gergoerdi
5y ago
|
31 comments
8.
▲
by
gergoerdi
5y ago
That's cool! I wanted to avoid having to build Rust and/or LLVM from source myself, hence the somewhat awkward "tell Cargo we're on default target, let Clang sort it out at link time" setup.
9.
▲
by
gergoerdi
5y ago
From what I understand, LLVM-MOS treats large parts of the zero page as virtual ("imaginary") registers, so you have no shortage of that ( https://llvm-mos.org/wiki/Imaginary_registers ). Then, sufficiently ad
10.
▲
by
gergoerdi
5y ago
Did you look at chirp8-engine , or only chirp8-c64 ? The value add is not in the parts that interface with the C64 internals; probably using C for that would make for nicer code. But I wanted to push as much into Rust as I could in the s
11.
▲
Rust on the MOS 6502: Beyond Fibonacci
(gergo.erdi.hu)
165 points
by
gergoerdi
5y ago
|
39 comments
12.
▲
by
gergoerdi
6y ago
They could put a tiny microcontroller that has a USB HID host and translates to PS/2 connected to the FPGA. So you have a USB socket on one side, you plug your normal USB keyboard or mouse into it, then that socket is connected to the
13.
▲
by
gergoerdi
6y ago
HoTT isn't a programming language, because there are non-value normal forms. That's the whole reason behind research into various formulations of Cubical Type Theory, which is a programming language.
14.
▲
by
gergoerdi
6y ago
I think at this point, Haskell is the most likely to become the first mainstream PL with Pi types: https://gitlab.haskell.org/ghc/ghc/-/wikis/dependent-haskell
15.
▲
by
gergoerdi
6y ago
As an alternative to Hindley-Milner, also consider a compositional type system ( https://unsafePerform.IO/projects/talks/2016-06-compty/CompT... it should be a very good match for the kind of simple HM type sy
16.
▲
by
gergoerdi
6y ago
Here's a toy example: a single-page web app written in Idris. https://github.com/gergoerdi/icfp-bingo-2017-idris
17.
▲
by
gergoerdi
7y ago
No, it is Ancient Greek, not Latin.
18.
▲
by
gergoerdi
7y ago
I've found that building the Lego Technic Porsche 911 set from a couple years ago really helps a lot with understanding dual-clutch transmission systems. https://brickset.com/sets/42056-1/Porsche-911-GT3-RS
19.
▲
by
gergoerdi
8y ago
> The problem with advanced type inference is that the exact algorithm needs to be part of the standard for compability reasons I don't think that's true -- if you have principal types, you can just say in your language spec th
20.
▲
by
gergoerdi
8y ago
If `x` is a representation of a real number, how do you compute if it is above or below 2? Suppose you start computing its digits, and you get 2.0000000, you don't know if you will get a non-0 digit later if you keep computing.
21.
▲
by
gergoerdi
8y ago
Which example do you think uses term-level variables more than once?
22.
▲
by
gergoerdi
8y ago
As a positive example, GHC has tests that are run for PRs that check performance (in terms of memory allocation): https://ghc.haskell.org/trac/ghc/wiki/Building/RunningTests/...
23.
▲
by
gergoerdi
8y ago
And here's a worked example of applying this approach, in this case to the domain of video editing: Super 8 Languages for Making Movies (Functional Pearl) https://www2.ccs.neu.edu/racket/pubs/icfp17-acf.pdf
24.
▲
by
gergoerdi
9y ago
*Kovacs.
25.
▲
by
gergoerdi
9y ago
This seems like a real-time / on-line version of MagicHaskeller: http://nautilus.cs.miyazaki-u.ac.jp/~skata/MagicHaskeller.ht...
26.
▲
Fisker: electric car battery with “500 miles range and 1 min charging”
(electrek.co)
7 points
by
gergoerdi
9y ago
|
3 comments
27.
▲
by
gergoerdi
9y ago
So can someone use this to show us where the rifle is on the turtle?
28.
▲
by
gergoerdi
9y ago
There's this local example in Wikipedia: https://en.wikipedia.org/wiki/Mandelbrot_set#/media/File:Man...
29.
▲
by
gergoerdi
9y ago
I can't not plug Peter Divianszky's implementation at https://hackage.haskell.org/package/minesweeper which has the awesome property that the board is generated as you play, in such a way that you never have
30.
▲
by
gergoerdi
9y ago
One drawback of the Hindley-Milner type system is that its typecheckers are necessarily non-compositional. The basic idea here is that this can result in "non-symmetrical" error messages[1]: given something like MkPair :: a
More ›