Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
gokr
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
6 ms
·
1.
▲
by
gokr
2y ago
You mean COLA etc? Yeah, pretty wild stuff. I admit I couldn't fully grasp it at the time (and most likely not now either!) https://www.piumarta.com/software/cola/
2.
▲
by
gokr
2y ago
Perhaps you are aware of who Alan Kay, Bret Victor, Ian etc are, but... anyway, I just wanted to chip in with some context for those who are not aware. Alan Kay led the creation and development of Smalltalk at Xerox PARC, thus creating the
3.
▲
by
gokr
6y ago
It all depends if you consider basically all non web GUIs developed the last 40 years or if you limit yourself to reactive web UIs developed the last few years. Tongue in cheek :) Sure, reactive frameworks in js that mainly operate on the D
4.
▲
by
gokr
6y ago
"hated all around the world" sounds a bit harsh :) Sure, lots of people like "throwing hate" at it, but AFAICT it's mostly "bad use" that gets people riled up like insane deep inheritance or overly complic
5.
▲
by
gokr
6y ago
This is kinda funny. I wrote a "rebuttal" article back in 2009: http://goran.krampe.se/2009/06/26/joe-is-wrong/ ...and then I met Joe not long after and we also discussed this in fact. He then
6.
▲
by
gokr
7y ago
Smalltalk is a family of dialects and implementations. Most of them are indeed compiled to bytecode which is then executed by a JIT VM. Most of them use the "image" concept where you are always in runtime like in a classic Lisp, a
7.
▲
by
gokr
9y ago
Hehe!
8.
▲
by
gokr
9y ago
I have worked extensively with Smalltalk, I know it quite well and it's my favorite language. I made SqueakMap and several other packages for Squeak. Still, it's not as simple as it can/could be, especially not the meta model
9.
▲
by
gokr
9y ago
They = me. I suppose you did it when Spry was still called Ni?
10.
▲
by
gokr
9y ago
The general idea was to leverage Nim's capabilities, either as implementing core parts of standard libraries in Nim (which is very easy to do) or possibly by partial compilation using the Nim meta programming mechanisms.
11.
▲
by
gokr
9y ago
A lot of things including very good development speed, very good debugging capabilities, very good meta programming (making your own tools) etc. Try out Pharo.org for example.
12.
▲
by
gokr
9y ago
Looking at my inspirations I would (take it with a grain of salt) say that Lisp and Forth are too simple, javascript is a mess (but with nice literal syntax for maps etc), Smalltalk is too complicated and Rebol is basically also a bit compl
13.
▲
by
gokr
9y ago
The multiuser stuff etc, I am temporarily too focused on other things so Spry is at "a hold" right now. I would also like to fix more things in the language before proceeding. The Smalltalk keyword syntax is a simple preprocessing
14.
▲
by
gokr
9y ago
Just as a sidenote, there is: https://github.com/xyz32/boneIO ...and a while back I played too with: https://github.com/gokr/ardunimo Nim is quite perfect for these things since it compiles via C&
15.
▲
by
gokr
9y ago
I have been wanting to play with wrapping the ESP-IDF for Nim (using the excellent c2nim tool), but ... it appears to be a fairly hefty job. Although I am sure Araq could do it in no time :)
16.
▲
by
gokr
9y ago
I am not sure how incomprehensible it is, but I can say that the c2nim wrapper tool is pretty darn good. Andreas (author of Nim) quickly wrapped all of Urho3d in Nim almost fully automated. So IMHO Nim is a great companion to C++ libraries.
17.
▲
by
gokr
10y ago
Well, I agree that the article can annoy some people. But... as an avid Smalltalker with a LOT of experience with it - and a lot of experience with Javascript too (and tons of other languages) - there is a "truth" in here. Smallta
18.
▲
by
gokr
10y ago
A solid good enough reason is because it's fun! But in the specific case of Nim - AFAIK there aren't that many languages around with a similar set of characteristics. For me the killer is the combination of GC (I am quite fine wit
19.
▲
by
gokr
10y ago
Although I don't know much about Clean and APL - I definitely agree with Forth, Smalltalk and LISP as being very elegant in their own three unique ways. I am trying to combine aspects of those three in Spry (sprylang.org) creating a ho
20.
▲
by
gokr
10y ago
Hmmm, I find this slightly misleading. It was a long time ago that the original Smalltalk creators were involved in Squeak (Dan Ingalls is the main developer, Alan Kay the visionary). It should also be mentioned that Squeak (and Pharo too)
21.
▲
by
gokr
10y ago
The Smalltalk mechanism (Squeak/Pharo) also uses generate and test, just FYI.
22.
▲
by
gokr
10y ago
Well, when I talk about polymorphism I of course mean the ability in the language to create first class polymorphic constructs. Hardwired things like [1] doesn't count :) Further, I had read the article [3] and it seems to me that he i
23.
▲
by
gokr
10y ago
It's not as evolved yet - but funcs pull in arguments via :x and can instead use :$x (I used ^ earlier, but switched to $) which will pull in that AST node (argument) without evaluating it first at the call site. So it's a kind
24.
▲
by
gokr
10y ago
I should mention that Spry uses all of () []{}. The () are reified as Paren as in Rebol which makes it useful in templating etc. {} are used to create Maps, like {x = 1} creates a Map with one kv pair.
25.
▲
by
gokr
10y ago
But hardly important :) I may actually end up not needing the distinction, but if so, then I think a good convention on documenting funcs is needed. Well, needed anyway. :)
26.
▲
by
gokr
10y ago
Spry does not have these builtin either, they are all functions. In fact, even assignment is, which makes Spry even more minimal then Smalltalk in this sense. I know Smalltalk VERY well, and Spry is trying to experiment. I think polymorphic
27.
▲
by
gokr
10y ago
Also, Nim has very promising support for threads, threadpools, async stuff etc etc. And when I rewrite the Spry interpreter to be stackless I hope to be able to use a lot of those things too.
28.
▲
by
gokr
10y ago
No, Spry is not at that point yet. Or at least I sure hope noone is! :) What you describe (interesting syntax) is a way to declare argument names and Spry doesn't declare them. That's a discussion in itself of course, but right no
29.
▲
by
gokr
10y ago
Well, Spry is much more Smalltalk than "only use Smalltalk syntax". But I have an entire article being written on that subject :) And no, your description of how it works in Smalltalk is wrong - #to:do: is implemented in the recei
30.
▲
by
gokr
10y ago
Hey! Thanks. Not me who put it here on HN though :) Regarding Nim - IMHO the main big pro is the fact that I can piggy back on the GC, use several of Nim's features (dynamic dispatch using methods for example), target all three of C&#x
More ›