W

whitequark

whitequark.org · Personal blog · on HN since 2011

whitequark, a developer known for work on compilers and open hardware, writes about OCaml, Ruby, embedded languages, and Linux networking.

What HN saysHN links it for OCaml extension points and the post arguing the Raspberry Pi was unsuitable for education because it was a closed platform.
23HN people shared it
11linked it in comments
17stories submitted
296story points
7 years agolast shared
2011people per year2026

Most-shared posts

  1. 1
    Reaching the Limits of Adobe Stupidity
    4 people · 181 points · first shared 2012 · 49 comments on HN
  2. 2
    Why Raspberry Pi Is Unsuitable for Education
    4 people · 81 points · first shared 2012 · 65 comments on HN
  3. 3
    A guide to extension points in ocaml
    4 people · first shared 2014
  4. 4
    Ruby Hacking Guide Ch. 11: Finite-state Scanner
    3 people · 1 points · first shared 2013 · discussion on HN
  5. 5
    A Language for Embedded Developers
    2 people · 7 points · first shared 2012 · 4 comments on HN
  6. 6
    Statically compiled Ruby
    2 people · 5 points · first shared 2011 · discussion on HN
  7. 7
    Let's Destroy Flash Together
    1 people · 5 points · first shared 2012 · 1 comments on HN
  8. 8
    Tweaking Linux TCP Stack for Lossy Wireless Networks
    1 people · 4 points · first shared 2013 · discussion on HN
  9. 9
    Git is an acceptable filesystem
    1 people · 3 points · first shared 2012 · 2 comments on HN
  10. 10
    Ruby is (often) statically typed
    1 people · 2 points · first shared 2013 · discussion on HN
  11. 11
    Unmentioned Features of Ruby 2.0
    1 people · 2 points · first shared 2013 · discussion on HN
  12. 12
    Let's play with Ruby code (Ruby parsing library)
    1 people · 2 points · first shared 2013 · discussion on HN
  13. 13
    The Next Web
    1 people · 1 points · first shared 2013 · discussion on HN
  14. 14
    XCompose Support in Sublime Text
    1 people · 1 points · first shared 2014 · discussion on HN
  15. 15
    On Tests and Types
    1 people · 1 points · first shared 2014 · discussion on HN

What HN people wrote when they linked it

masklinn · 2017-09-10
It has no readability issue when you know the basic syntax * "external" is an FFI declaration * "get_internal" is the local symbol name * ":" introduces the type signature, so "get_internal" is a function from a "map 'a 'b" (aka Map<A, B> in more C-style generics) and an 'a to a Js.undefined 'b * followed by the external symbol ("get") * and the stuff between brackets is a compiler instruction (an "extension point": https://whitequark.org/blog/2014/04/16/a-guide-to-extension-points-in-…
a-nikolaev · 2014-05-09
Cool. Language extensions are easier to write. Honestly, never had the guts to really learn camlp4 beyond an introductory tutorial, so I am happy to hear that this new approach is easier and also more practical. There is a link from the article with a more complete example of how the extension points really work: http://whitequark.org/blog/2014/04/16/a-guide-to-extension-points-in-o… OCaml is great because it is doing a lot of things right. Hope, this new feature will become more widely used than camlp4, and become a stable feature of the language.
edwintorok · 2014-05-01
That is from 2012: in 2012 Raspberry Pi was a closed platform, not at all recommended: https://wiki.debian.org/RaspberryPi http://whitequark.org/blog/2012/09/25/why-raspberry-pi-is-unsuitable-f… Things have only started to change recently when BroadCom released some documentation: https://libv.livejournal.com/26434.html There is some support for OpenBSD on ARM, for hardware that is more open than the Raspberry Pi: http://www.openbsd.org/armv7.html
shared4you · 2013-11-21
This is why Debian does not recommend Raspberry Pi [0] > Despite the hype it is a more closed platform than many other things you could buy Claiming to be open, but still encouraging and endorsing non-open-source software. I was startled to read why R.Pi is unsuitable for education [1] [0]: https://wiki.debian.org/RaspberryPi [1]: http://whitequark.org/blog/2012/09/25/why-raspberry-pi-is-unsuitable-f…
jasim · 2018-05-24
ReasonML is a big con. It is clothed in ALGOL's syntax, but underneath it is a LISP with functions that can be stored, curried, passed around, and composed on top of one another. It doesn't have a Lisp-y syntax and thus no homoiconicity nor macros, but it does have PPX. (https://whitequark.org/blog/2014/04/16/a-guide-to-extension-points-in-… The biggest one that Reason pulls however is its syntax. ML based languages (Hope, Haskell, Miranda, F#, Elm, Purescript etc.) have historically used the ISWIM syntax (refer Peter Landin: The next 700 programming languages), which was designed to be similar to mathematical notation. Reason ignores this great tradition and brings ML to the bread-and-butter programmer with a syntax that is more ES6 than ES6 itself. Reason is also the first language where the four major thoughts of PL design comes together. It packs ML's type system, which lets you create user defined types on data, unlike Simula/C++/Java/C# which commingle user defined types and classes. Interestingly enough, Stroustrup had worked with Pascal the grand-old language of commercial programming, before he went on a great rage and wrote CFront/C++. Pascal was statically typed similar to how Reason/OCaml is. It allows you to define new types that work simply on the shape of the data without the ceremony of classes. But Pascal's type system at the time was quite limited - Stroustrup referred to it as strait-jacketed in HOPL II (Prof. Wirth had meant it only to be a…
ufo · 2016-03-27
Some of these points are a bit outdated. Ocaml improved a lot recently. > False Sense of Security This is a strawman argument. And the static types really do help, specially if you make good use of algebraic data types and the exhaustiveness checker. The autocompletion and documentation suport is also super nice. Installing Merlin is one of my top priorities when I set up an ocaml environment. https://github.com/the-lambda-church/merlin > Few Basic Types Nowadays you tend to see tons of different integer types in systems programming languages (C, C++, Rust, etc). This is more the author saying he loves Common Lisp than a downside of Ocaml. > Module Immutability Can't you define a new module that wraps around the old one and overrides the `date_of_string` function? Changing the implementation of a module violates all sorts of abstraction guarantees and would lead to many thorny issues. > Polymorphism Causes Run-time Type Errors Polymorphic equality and comparison can definitely be a source of confusion. Hopefully in the future we will have module implicits and be able to solve this issue similarly to how Haskell does it. > No Macros Again, this is more of a "my language is not LISP" complaint. Ocaml has camlp4, which is not a full-blown macro system but allows for a large variety of syntactic extensions to the language. However, camlp4 was tricky to maintain in sync with the original language so nowadays the community is moving towards simpler ppx…
Create · 2013-10-08
While schematics are available, board layout for the Pi is not, and I see precisely no reasons for not distributing it openly. Raspberry Pi has nothing to do with open hardware. The whole system cannot function without the GPU as it’s the first component to boot and controls some vital peripherals, and the GPU can only work with a closed-source firmware. Oh, and before calling this a conspiracy theory, take a look at the sister site of Pi Foundation. That’s right: instead of promoting free, open and royalty-free standards like WebM, the Foundation sells licenses for two proprietary and obsolete video encoders. Also, if you want the Foundation to send more documentation to you, they require you to provide a business model. This has nothing to do with education and everything with marketing. Fortunately, not Beagle Board nor ODROID-X require GPU drivers (or, for that matter, any proprietary code or binaries at all) for regular operation. You’d only need them for rendering accelerated graphics. If you are looking to develop truly open hardware, take a look at Milkymist One. It isn’t cheap, but is worth way more than its cost. If you are looking for a more sane alternative to Pi, consider buying Texas Instruments Beagle Board or Samsung ODROID-X. Both vendors have released complete documentation for the SoC (except for the graphics processor, described above), and are generally more friendly to open-source community than…
hyperpape · 2020-01-31
Agreed. I'm not going to say whether Ruby syntax is nice or not, but its use of parser generators is not a model of simplicity: https://github.com/ruby/ruby/blob/master/parse.y https://whitequark.org/blog/2013/04/01/ruby-hacking-guide-ch-11-finite… It also changes syntax in patch level versions: https://github.com/whitequark/parser.

Keyboard shortcuts

/Search
j kNext / previous blog
EnterOpen selected blog
vVisit the blog site
fFollow / unfollow
lSwitch grid / list view
dSwitch dark mode
g hHome
g pTop posts
g tTopics
g fFollowing
g lLiked
g yHistory
g qFAQ
EscBack / close