mircea_popescu: phf fwiw i believe "threads" are a miserable kludge, so i can
see the angle.
asciilifeform: even mcl has threads.
asciilifeform: mircea_popescu: no threads, no multicpu
phf: asciilifeform: quiters
mircea_popescu: asciilifeform were you gonna explain how the grocery thing
mircea_popescu: and srsly, what, it's my job to tell the processor how to
process ? that's why it's a processor, let it process!
asciilifeform: mircea_popescu: in that most effective software isn't public.
mircea_popescu: but oh, no, "you gotta make this hacky flagging scheme to show
us what to paralellize!"
asciilifeform: mircea_popescu: you'd like ada then
mircea_popescu: asciilifeform that is utterly besides the point, isn't it ?
most well made statues were kept in temples, in the dark, untouched and unseen.
this doesn't mean they had ergonomic spoons in mass production!
asciilifeform: ada tasks, afaik, is the only sane implementation of parallelism
where you ~never~ specify explicit thread
asciilifeform: mircea_popescu: consider, e.g., naggum's oil/gas exploration
asciilifeform: they were 100% commonlisp (allegro) but never will be published
mircea_popescu: consider what i'm actually saying : it's one thing to solve
correctly a well defined problem ; it is another thing to solve well a nebulous
asciilifeform: they are not part of what folks think of as 'software ecosystem'
mircea_popescu: we'll be doing a lot of the 2nd willy-nilly.
mircea_popescu: and it is good that the good tools, derived from 1st, get some
asciilifeform: i can't argue with this.
mircea_popescu: so then why are you :)
asciilifeform: my objection was to 'lisp never tested in Serious Business'
mircea_popescu: I DID SAY!!11!! "without importing" did i ?
mircea_popescu: and yes, the more i hear about ada the more i like it, or
properly speaking the more it sounds like right thing.
asciilifeform: mircea_popescu: i wish it weren't the right thing...
asciilifeform: but it is.
PeterL: asciilifeform could you make a "right thing" that is better than ada?
asciilifeform: has, e.g., predicated types. (which means, you can declare a
variable, where, say, assigning a prime number to it is an error condition in
the runtime. which means, yes, a check on EVERY assignment.)
asciilifeform: PeterL: when? by friday morning before breakfast ??
mircea_popescu: PeterL not in a lifetime.
PeterL: no, just conceivably, as in have you identified places where it could
mircea_popescu: liek that it's a pretty good q.
asciilifeform: PeterL: understand, ada is necessary because we are stuck with
the idiot c machine.
asciilifeform: a properly constructed computer would perform ALL of the same
checks, and more, IN HARDWARE
asciilifeform: but we haven't such a thing.
PeterL: aha, so if you ditch c-machine then you could do better?
asciilifeform: PeterL: definitionally
mircea_popescu: different and incomparable.
mircea_popescu: there's no "better" in that space.
mircea_popescu: also you can't implicitly sort complex numbers.
phf: well, incremental improvement on ada doesn't seem like a particularly
interesting problem, thing comes with a lineage, wirth's pascal, modula,
oberon; ada fits into that ecosystem, so simply going over wirth's research you
can find a lot of existing ideas for ada improvements
asciilifeform: the 'better' is in the sense of 'less screaming idiocy in the
mircea_popescu: if idiocy screamed in the forest where there's no alf the
bee-dog to hear it,
mircea_popescu: would the world be better ?
asciilifeform: phf: there are some very obvious warts in the language - e.g.,
the compiler is one-pass and you end up having to write c-style prototypes for
asciilifeform: but there is also a STANDARD
asciilifeform: and if you improve the thing, you break it.
asciilifeform: as in common lisp.
phf: but if you start with scheme-81/cadr or greenarrays or whatever, could
probably get more interesting results by a margin
mircea_popescu: incidentally, WHY is the compiler single pass ?
asciilifeform: phf: yes, but we haven't the factory.
asciilifeform: what we have is a great many rusty old pentiums.
asciilifeform: mircea_popescu: why? because it is.
asciilifeform: because it made sense in 1980
asciilifeform: when cpu cycles were precious, and disks - glacially slow.
mircea_popescu: i've been wondering bout this.
mircea_popescu: but might be the lowest fruit.
asciilifeform: incidentally, i recommend the 'random walk' article to anyone
with even a passive interest in the subj
mircea_popescu: asciilifeform> [...] you can declare a variable, where, say,
assigning a prime number to it is an error condition in the runtime. which
means, yes, a check on EVERY assignment. <<< now imagine the converse type :D
asciilifeform: at least read the section about pointer leakage prevention
asciilifeform: it is unique, afaik, to ada
asciilifeform: mircea_popescu: l0l
mircea_popescu: aha ?
mircea_popescu: but there's a point here. it's not a bounded problem!
mircea_popescu: and yeah, i get the "doc it hurts when i do this" "so don't do
it then" thing. but ...
asciilifeform: mircea_popescu: generally folks will use simple predicates
(e.g., 'not equal to 0')
asciilifeform: sorta like c 'assert' but you can attach it to ~anything~
mircea_popescu: hey. is it a thing or is it not a thing! stop giving me jam!
asciilifeform: which ?
mircea_popescu: the predicated types.
mircea_popescu: "all of the same checks, and more, in hardware". what now ?
miner core in every cpu, to check for primality ?
asciilifeform: mircea_popescu: basic hygiene.
asciilifeform: as in, arrays live with their bounds
asciilifeform: and ALL accesses are bounds-checked;
mircea_popescu: your idea of basic hygiene differs from the medieval french
only in form, not in substance.
mircea_popescu: it's still give or take "what everyone else does".
mircea_popescu: and fwiw most arabs'd be horrified at the notion of not
actually washing bunghole after defecation.
asciilifeform: integers are MARKED AS SUCH and tested when arithmetizing;
mircea_popescu: poorest village public toilet still had water implement in
asciilifeform: mircea_popescu: i did not say that basic hygiene is a ~stopping~
place, but a starting point.
asciilifeform: we don't even HAVE the toilet yet.
mircea_popescu: the problem is that it being unbounded, it can't really be
asciilifeform: we're still at the shit-where-you-stand level.
asciilifeform: the basics ABSOLUTELY belong in hardware.
mircea_popescu: reasoning past the faith ?
hanbot: davout moar for you.
asciilifeform: there is no excuse for buffer overflows to be a thing.
mircea_popescu: why not ?
asciilifeform: why not shit where you stand?
asciilifeform: in your pants?
asciilifeform: do i have to justify that also ?
mircea_popescu: listen : the EARTH permits you to do so.
mircea_popescu: do you propose "not shit where yo ustand" should be a property
of earth and standing ?
mircea_popescu: would you buy pants with buttplug ?
asciilifeform: mircea_popescu: this is a ludicrous analogy.
asciilifeform: the butt plug has a down side.?
mircea_popescu: "as long as these are securely fastened, an absolute guarantee
to no pants shitting can be offered by manufacturer". and yes i used such
thjings, but for very peculiar purposes.
mircea_popescu: and if it's a shitty analogy blame yourself - you brought it in!
mircea_popescu: ha! what, and hardware has no downside ?!
mircea_popescu: now i understand why you expect the foundries to cost billionz!
asciilifeform: sane hardware has no downside other than it not yet existing.
asciilifeform: in that respect it has the same downside as eschewing microshit
had in 1995.
phf: that's a platonist right there
mircea_popescu: seems altogether easier for you to not shit where you stand
than for us to create a new reality.
asciilifeform: not entirely new, examples existed as early as 1969
asciilifeform: (control data corp.'s products)
mircea_popescu: a more general and unrelated problem : why should the specific
number of compiler passes be set down in the standard ?
mircea_popescu: i can't write sentences with a count at the end saying how many
times you have to read them until you get them.
asciilifeform: as for 'why standard' - it affects the semantics.
asciilifeform: ergo a standard is meaningless unless it contains it.
mircea_popescu: wasn't by any means a practical consideration. more of a
"thinking about the compiler of the wetware future"
phf: $up a111
deedbot: a111 voiced for 30 minutes.
mircea_popescu: hola a111
phf: http://btcbase.org/log/2016-04-06#1446778 << i also agree, i just politely
pointed out that the feature is obviously needed, i just don't trust bot part
enough yet to put more functionality on it. ??
a111: Logged on 2016-04-06 12:30 asciilifeform: ;;later tell phf i find myself
agreeing with adlai, the way we have it now, the log is in fact near-unreadable
EXCEPT in wwwtron. links oughta dump into the chan assbot-style
mircea_popescu: o check it out , also had a bot.
phf: it's all bots sitting there unvoiced
mircea_popescu: (ftn, juj = kik ^2 = lol ^ 4)
asciilifeform: what'd be the complex conjugate of l0l ?
asciilifeform: re earlier thread,
asciilifeform: ^ predicates
mircea_popescu: which reminds me of my indignation in 9th grade. THERE ARE TWO
phf: $down a111
mircea_popescu: -a+bi / a + bi also!
mircea_popescu: "So we see that the predicate in the subtype Even cannot be a
static predicate because the operator mod is not permitted with the current
instance. But mod could be used in an inner static expression."
mircea_popescu: eh ffs.
mircea_popescu: even can be static irrespective of fucking mod wtf.
asciilifeform: mircea_popescu: you gotta know what mod means in ada
mircea_popescu: "and, in addition, a call of a Boolean logical operator and,
or, xor, not whose operands are such static predicate expressions, and, a
static predicate expression in parentheses." << right there. a xor maxint-1 > 0
asciilifeform: it means 'takes up this-many bits REGARDLESS'
mircea_popescu: EVEN is wrongly defined is the point.
mircea_popescu: im quoting from your link.
trinque: phf: http://dpaste.com/1SZ14HH << here's what I beat your example into
trinque: maybe we can collaborate on getting a bot that, y'know, stays
connected to an IRC channel
trinque: thing knows how to ghost, has your ping/pong code in it (thanks!)
trinque: and I have no idea if I did terrible things, so say so. I'm just some
dude reading books on lisp that washed up on my island
asciilifeform: trinque: neato
trinque: where I (think I'm) headed is the bot being a separate module. code
using the bot would pass the appropriate generic function to call for commands
mircea_popescu: asciilifeform basically they lazily decided "even" is to be
tested by "mod", which is unacceptable if they're going to make mod randomly
unavailable ; seeing how there are purely bit-logical ways to test for
mircea_popescu: which they don't make similarly unavailable.
phf: trinque: you can forgo the whole nickserv integration by putting password
into the irc:connect
asciilifeform: mircea_popescu: the bitwise thing works. i have nfi why not used
in the example.
phf: or better yet add ssl key
asciilifeform: or actually i no
asciilifeform: say it's an algebraic type (e.g. bignum)
trinque: phf: ah that's simpler
asciilifeform: ada is a civilized lang like commonlisp and there is NOT a
presumption that integers are machine words !
mircea_popescu: so you're saying i'm a sinful asm/cobol/c-head ?
mircea_popescu: for shame.
asciilifeform: it is curable tho!
phf: trinque: http://dpaste.com/1SZ14HH#line-549, (irc:connect :nickname
*bot-nick* :server "irc.freenode.net" :password *bot-ns-password*)
phf: should solve all your service woes
phf: my ping/pong code was not very good. i reworked it yesterday, but haven't
yet enabled on this guy, so if he falls over, it'll be quietly, and we'll know
by lack of logs :D
trinque: and that'll just boot the previous instance of "deedbot" if I connect
asciilifeform: mircea_popescu: ada is a merciless thing. e.g., you cannot use
two types interchangeably even if 'they're the same inside'; can only take
pointers of items explicitly declared pointerable-to; by default, pointers only
valid in the context where they were taken
phf: that was my impression since that's how my bouncer runs, and the only time
i had issues is when my ssl cert silently expired. but come to think of it,
i've not tested it
asciilifeform: the basic philosophy is to take the most dangerous knobs and
attach broken glass spikes to them
asciilifeform: so programmer only grips it if he ~really~ must
asciilifeform: and feels the pain.
mircea_popescu: sounds a lot like v!