log☇︎
85300+ entries in 0.051s
ave1: I've played little with the bb-runtimes but the whole build process is based python + gprbuild and needs at least ada 2017 sources.
phf: asciilifeform: yes, they do, i did some research into subj and it's literally java on winblows
ave1: also, for the adacore minimal images look at: https://github.com/AdaCore/bb-runtimes
ave1: btw I understood that esa still uses Leon processors with ADA
asciilifeform: ave1: that'll be the gold medalist, as it will run on ice40 , i.e. 'tmsr cpu'. ☟︎
asciilifeform: phf: for all i know, ~today's~ spaceprobes fly with java on winblowz. i am speaking of the 'golden age' 1980s-1990s items.
asciilifeform: secondary stack not only requires a fairly bulky bit of initialization logic in erry binary, but also makes it very difficult to reason conclusively about proggy's space usage
phf: i suspect spaceprobes people don't ever need to start a fresh program either, in a conventional sense
asciilifeform: can't seem to find this discussion in the logs, so i'll summarize , for noobs :
asciilifeform: btw did i ever discuss why i forbid the secondary stack ? ☟︎
asciilifeform: ( the spaceprobes people, afaik, handle the problem asciilifeform's way. )
asciilifeform: observe that the standard specifically permits disabling secondary stack. but what it doesn't do, is to give you any means of using such things as cmdline args, if you do this.
ave1: the same with interfaces.c, a version without secondary stack can be easily made (I have one already, simple method of cutting out functions), but is then not really ada standard anymore.
asciilifeform: to date this is asciilifeform's only explicit crossing-out of ada2012 standard's item.
asciilifeform: phf: so i explicitly rejected the standard's routine.
asciilifeform: phf: observe however that it is impossible to make use of your approach re cmdline args. the standard unambiguously mandates variably-lenghted strings ( i.e. dualstackism ) for that. ☟︎
ave1: for overview there will probably will be about 6 flavours of zfp I think based on: MUSL C, X86_64 ASM + linux, X86_64 ASM + no os, AARCH64 + linux, AARCH64 + no os.
asciilifeform: assumed that i would have to do it with own hands.
asciilifeform: phf: when i started out, i had no notion that anyone would help me by producing a working libc-less gnat.
ave1: phf, yes that's the right approach
asciilifeform: phf: it will require moar massage to actually produce a compact binary, and so i did not go with it; but it is still prolly The Right Thing long-term
asciilifeform: phf: i can't say this is a wrong approach
phf: i took a different approach, i wrote _to ada standard_ with the idea that each interface can be substituted with a custom system specific replacement. for example my character_io is a new_line aware replacement of the original, that relies on ada.sequential_io. now if i wanted to retarget to small machine, i'd write a custom sequential_io that uses machine specific calls for byte read/write ☟︎
ave1: yes the other thing is to get the os out and I'm reading your code
ave1: phf, asciilifeform's ffacalc uses only a few C functions all for IO / exit and command line arguments. I just have to provide the right functions in the ZFP library for ffacalc (currently first on conveyor but also some real life priorities these weeks)
asciilifeform: ( working from asm examples that asciilifeform posted recently )
asciilifeform: ave1 iirc is currently in the process of baking cheap and angry asm-on-x64-linux replacements for both knobs.
asciilifeform: ( hence why the logic is brought out to ffa_calc, rather than part of the lib proper -- to emphasize this )
asciilifeform: ( there isn't actually an alternative, aside from -- respectively -- using gnat's gargantual text_io lib, and permitting secondarystackism. )
phf: i'm starting to think that maybe it doesn't (my memory of logs are hazy on that point, perhaps ave1 mentioned that he's working on getting ffa_calc working), because i believe you're also using interfaces.c at least to declare the types that you get in/out of c system calls
asciilifeform: phf: first it must work with asciilifeform's item . and only then i can dare to speak of 'enuff for erryone!'.
asciilifeform: phf: my specific motivation in asking ave1 for this, was to enable building e.g. ffa where binary is small enuff to manually disasm and audit.
phf: asciilifeform: i thought that you were arguing that the subset of ada runtime that's included in zfp "ought to be enough for everyone", since at the moment i believe it compiles ffa, my apologies.
asciilifeform: it's what the space probe etc. stuff gets built with.
asciilifeform: phf: adacore actually distributes a compiler like this. but it is commercialware, and i've never seen it.
phf: ah, that explains the misunderstandings. ave1's no-c compiler has a completely custom ada runtime library, which is a tiny subset of the whole standard. http://btcbase.org/patches/zfp_2_noc/tree/ the adainclude part
asciilifeform: ( or at the very least, will connect them to a default-off toggle switch. )
asciilifeform: imho a trooly clean gnat will be entirely devoid of cisms.
asciilifeform: but given as i do not expect most nontrivial c proggies to build with it, i suspect that the 2 compilers will remain in use in parallel for a while.
asciilifeform: admittedly i haven't tested the avant guard ave1 item yet.
phf: interfaces.c is not a libc concern, it's an ffi. the situation is that C can't be linked to an Ada, even if the C part has _no libc_ in it ☟︎
a111: Logged on 2018-07-06 17:09 asciilifeform: 'make emu' builds variant that runs in qemu and (if you have x86-64 qemu) boots it. 'make sage' ditto but boots on a cold sage ( see http://www.loper-os.org/?p=1887 & elsewhere ) . 'make sage-warm' boots on a warm sage.
asciilifeform: i posted a simple example of this kind of thing, earlier, http://btcbase.org/log/2018-07-06#1832319 ☝︎
asciilifeform: when folx must write with no libc, i.e. bios work, they make own and include with the coad.
phf: but i remember diana_coman saying something about her code not compiling in ave1's because interfaces.c is not included. i'm not sure if she was talking about the former or the later
phf: oh i was talking about the later, since that's the avant guard of the ada situation
asciilifeform: phf: are we speaking of http://ave1.org/2018/building-gnat-on-musl-updated-tar-line/ or http://ave1.org/2018/gnat-zero-foot-print-take-2-no-c/ ? these are separate items
phf: asciilifeform: if you haven't looked, ave1's item is a significantly cut subset of ada's standard, where, e.g. http://btcbase.org/patches/zfp_2_noc/tree/adainclude/a-textio.ads is text_io (compare to real text_io)
asciilifeform: phf: why would either of these belong in a compiler ?!
phf: or is tmsr ada whatever ave1 put into his musl build, which is, worse, a political situation. diana_coman can argue for her ffi stuff to be included, should i be arguing for my get/put stuff to be included? ☟︎
asciilifeform: ( though yes, eventually i would like to codify the subset as a standard in own right. )
phf: as far as ada is concerned, the tmsr ada is a subset of standard, that only exists in your head, and can be somewhat inferred from ffa. that's no standard ☟︎
asciilifeform: ada standard is just about a hair's breadth away from a proper , Troo standard.
asciilifeform: ( ~ffa_calc~ is not, as it uses a gnatism to grab the commandline args. )
asciilifeform: phf: say what you will re ada standard, but e.g. ffa is ( afaik! ) a nontrivial and at same time ada2012-compliant proggy. ☟︎
phf: asciilifeform: oh yeah, i get it, the approach requires a GOST cpu with a GOST bus etc. etc. right now the situation is mildly depressing (though perhaps that's not the right word), even Ada standard turned out to be dodgy (very precisely specifies some shitty solutions) ☟︎
asciilifeform: cl standard is substantially closer to an ~actual~ standard than, e.g., c++, in the it is ~actually possible~ to program in standard cl. but it really gotta be reopened ( perhaps one day, tmsr cl?? ) and completed.
asciilifeform: phf: as you can prolly tell, asciilifeform has an old-fashioned, ГОСТ-like view of standards. in that a standard really ~must~ specifically make vendor lock-in impossible. and if it fails to do this, it is broken and oughta be corrected ( or thrown out. )
phf: standard by they way allows for a subset of "such horrors" in form of symbol-macrolet
asciilifeform: and broken by erry vendor in existence . but this is not a point of pride, imho, for it.
asciilifeform: phf: i do know, yes, that the standard was stunted at birth.
phf: particularly since that particular autoload machinery was already in genera
asciilifeform: phf: but asciilifeform is a subscriber to the 'what is not mandatory is forbidden' school of prog lang standard.
phf: you should know that common lisp standard is not the whole, but rather the top, i.e. the commonality of features between multiple lisp machines. there are parts that explicitly under specified to allow for a variety of behaviors
asciilifeform: phf: holyfuq, what is this if not breaking standard ? standard permits no such horror
phf: asciilifeform: you can still add a feature without violating the standard, but there's tones of features like that that can only exist as part of compiler and also not violate a standard. lazy symbol is a particularly good example: the symbol behaves according to standard, but accessing its value "stops the world" for all practical purposes, calls some other machinery, "resumes the world" with the value provided by machinery.
asciilifeform: mats: ever do range test with subj ?
mats: the stamp sized tegs i’ve seen are pricy though, ranging from $5-15
asciilifeform: phf: how not ? seems like if you add a feature that 'must be in compiler', you ipso facto broke standard
asciilifeform: mats: ah you were thinking of the old mircea_popescu relay, aite
phf: no why? they don't have to
mats: asciilifeform: this parasitic relay incorporates esp8266 in urban environment
asciilifeform: in exactly the way that got naggum pissing on franz bavk in the day
asciilifeform: hm sounds like they're breaking standard then
phf: well, 100 ln patch to the compiler, because it can't be done as a user proggy (e.g. (symbol-value 'foo) triggers a mechanism of some sort, without an indirection)
asciilifeform: i had this experience prior, with 'mathematica', and was reluctant to repeat it, so largely avoided serious use of the closed lisps.
phf: for example in naggum's "history of time" he talks about having a package tz with symbols for all the timezones, and if you access say tz:est or whatever, the timezone is transparently loaded. can only be done in allegro ☟︎
asciilifeform: and as consequence you become its thrall 'for life' unless you feel like rewriting all yer coad
asciilifeform: as result it had own tcpip thing, db, etc yes
phf: d crannies that allow for superior experience
phf: allegro is batteries included, and if they're not they'll add the batteries for you, so for most practical purposes you don't need to fuck with quicklisp and the variety of dodgy quicklisp packages. but allegro generally made a lot of, i don't know how to put it, old skill lisp-machine-y decisions to make sure your development experience is superior. instead of being sticklers for the standard, and not venturing outside of it, they kept adding nooks an
phf: well lispworks has capi, that doesn't have an non-proprietary equivalent, so if your work requires any kind of gui, you're stuck with some very dodgy solutions (in the early days i even used emacs/slime as a gui backed by ccl) ☟︎
a111: Logged on 2018-07-18 10:20 mats: a peltier teg looks ideal for the parasitic relay power plant
asciilifeform: http://btcbase.org/log/2018-07-18#1835819 << not for sw relay. sw antenna ideally is a 20meter-hypotenuse triangle. in the woods. what in the woods is hot enuff to run a teg ? ( not considering strontium90 barrels here, but compact and inexpensive items. ) afaik pv panel is the only pill. ☝︎☟︎
asciilifeform: phf: i suspect that the diff could be accounted for by diff in problem domains; but i did not find the advantage to be 'immense'
asciilifeform: phf: in commercial work i use things that would turn the strongest stomach. now, as always, speaking of civilized work. ☟︎
phf: are you talking in the context of tmsr, or your commercial work? i had both of them bought at some point, back in my common lisp consulting days it was a no brainer, the cost was always a small fraction of the contract, but the technical advantage immense. but then i don't have the source code for many things that i make my food with ☟︎
asciilifeform: both dead to me nao. i never signed the pact for the src, and i won't use today a compiler for which i lack src, full stop.
phf: but i also don't know how you get the source from lispworks, if at all. they have a fixed price list though.
phf: asciilifeform: you have them backwards
asciilifeform: phf: seems like that was lispworks, not allegro
a111: Logged on 2018-07-18 00:33 asciilifeform: http://btcbase.org/log/2018-07-18#1835659 << iirc allegro was moar complicated than this, tho tbf i am unsure whether less or ~more~ scammy . it was a nonfixed price (no cost for src actually but had to 1) be existing customer and 2) sign seekricy contract ) and price of being customer in turn wasn't 'fixed' ( 'lispworks' co. iirc charged royalties ) . as for 'specified', this was 1 of the rare products where yes specified ( common l
phf: http://btcbase.org/log/2018-07-18#1835681 << in allegro's case the model was (is?) a vendor partnership, they don't sell to all comers. you have to have a sit down where you essentially pitch your project to them and work out a payment structure, some combination of buy in, royalties, etc. similar to some of the banking vendors i worked with, like kx ☝︎
phf: the usgistic appearance of the site is a ruse, very similar to soekris in this respect. the main difference from soekris is that there are no manufacturing costs, so can be "alive" for a price of couple of servers
phf: http://btcbase.org/log/2018-07-18#1835696 << i believe at least in the case of allegro the ownership is the dks/symbolics model (or perhaps soekris model), guy who made it sells it and there's enough sales money to periodically fund developers, add new features, etc (considering that some of the contracts are finance and gov) ☝︎☟︎
esthlos: diana_coman: heh, it was supposed to be "model"
diana_coman: is that moodle?
esthlos: http://btcbase.org/log/2018-07-18#1835817 << you haven't heard? it's all the rage with the youth these days (esthlos needs to run a spellcheck phase) ☝︎
a111: Logged on 2018-07-18 02:01 mircea_popescu: http://www.dianacoman.com/2018/07/17/discriminatory-code-sharing/ << i'd say this is broadly correct ; though i somewhat disagree with both ave1's take (as in http://btcbase.org/log/2018-07-17#1835508 ) as well as diana_coman implict take here ( say in "hat they decide to do with it, if anything, is of course their own call entirely." ) in the following limited sense :
diana_coman: http://btcbase.org/log/2018-07-18#1835801 -> right, I can see that reading although it wasn't my point; by "their call" I mean that they get to evaluate (through whatever process, possibly including "what is wrong with you" or anything else) and decide, not that they ignore upfront ; how would ignoring of author even make sense if code is not ignored ? ☝︎