Live data from Hacker News

Skip: A programming language to skip the things you have already computed

skiplang.com

71–80 of 119 posts

Re: Skip: A programming language to skip the things you have already computed

#71

Earlier quoted context omitted.

That doesn't work if one of the arguments gets mutated

Different arguments would provide a different result, wouldn’t it?

I think this also caches closures, and recomputes them either when the inputs change or the closed over values are mutated.

Edit: Oh, apparently that's not the case... Or maybe I missed something.

http://skiplang.com/playground/#bXV0YWJsZSBjbGFzcyBGb28obXV0...

Edit2: `debug()` is tracked as an effect, causing `get()` not to be memoized. Unfortunate...

http://skiplang.com/playground/#bXV0YWJsZSBjbGFzcyBGb28obXV0...

Re: Skip: A programming language to skip the things you have already computed

#72
post #10

Looks interesting but here's what I don't understand. So many programming languages do not show example code on the homepage. That's like if Mazda didn't show cars on their homepage. Sure, you won't really know what it's like to drive it without getting your hands dirty but at least let me see the trim.

Just click "learn more" button and you'll see step by step examples of the language features. A quick take on the front page can't possibly explain much about a language, maybe just a sample of syntax? I don't know why it would've been useful.

Look at Nim's front page: https://nim-lang.org/ It features several code samples showcasing many important language features.

Re: Skip: A programming language to skip the things you have already computed

#73
post #15
post #10

Looks interesting but here's what I don't understand. So many programming languages do not show example code on the homepage. That's like if Mazda didn't show cars on their homepage. Sure, you won't really know what it's like to drive it without getting your hands dirty but at least let me see the trim.

Even worse, the "tutorial" is a challenge of sorts, where you have to guess at the right answer given hints.

How is an interactive tutorial bad?

Re: Skip: A programming language to skip the things you have already computed

#74
post #55

"In Skip the = operator introduces a new variable, but unlike other languages the = operator alone can not modify an existing variable." Using != to assign a value feels really strange to me. I know some languages use := but in those languages typically it's because = is an equality operator. I'm sure there are some exceptions but != just so universally means "not equal" to me.

But it's not just `!=`, it is `!variable = value`, see [1]. That does not look like "not equal" operator.

[1] http://skiplang.com/docs/lvalues.html

Re: Skip: A programming language to skip the things you have already computed

#75
post #55

"In Skip the = operator introduces a new variable, but unlike other languages the = operator alone can not modify an existing variable." Using != to assign a value feels really strange to me. I know some languages use := but in those languages typically it's because = is an equality operator. I'm sure there are some exceptions but != just so universally means "not equal" to me.

Objective-S uses |= for one-way dataflow constraints, which you could also call "permanent assignment".

http://objective.st/

Re: Skip: A programming language to skip the things you have already computed

#76
post #69

Earlier quoted context omitted.

... "proprietary fork" and "might open-source"... let us know when you change your stand

Well Julien Verlaguet is the original author of SkipLang, so "proprietary fork" does not deserver the square quotes, IMO

Citation to indicate what he was responding to, not scare quotes.

Re: Skip: A programming language to skip the things you have already computed

#77
post #55

"In Skip the = operator introduces a new variable, but unlike other languages the = operator alone can not modify an existing variable." Using != to assign a value feels really strange to me. I know some languages use := but in those languages typically it's because = is an equality operator. I'm sure there are some exceptions but != just so universally means "not equal" to me.

It does make sense if you realize that it is also used for fields and that a.!b.c = d is different than a.b.!c = d. The first makes a copy of the object at a.b before assigning a new value to its field c.

Re: Skip: A programming language to skip the things you have already computed

#79

Earlier quoted context omitted.

In the USA, Mazda is at mazdausa.com, not mazda.com. There are eight cars on the front page.

So, whats your point? Does that change anything?

It changes the number of cars on the front page from 1 to 8.

Edit: Darn, I actually only count 6 cars on mazdausa.com

Re: Skip: A programming language to skip the things you have already computed

#80
post #12

It's still very much used at SkipLabs. In fact, it's the language that SQLive is written in: http://sqlive.io Unfortunately, we use a proprietary fork of SKIP, so that's why the OSS project looks dead. We might open-source our version some day, but no plans for now.

If done right, SQLive is the sort of thing that could entirely change the way many applications are written. Solving the problem of real time collaboration at the database level has been a dream of mine for years. Unfortunately I'm doubtful that existing RDBMSs will be able to integrate such a thing, seeing how shoddy implementations of materialized views have been. I really hope you are successful in tackling this p…

Check out the work Materialize is doing as well - similar vein.
Post reply on HN