log☇︎
900+ entries in 0.122s
mircea_popescu: right, ada sort of fortran-with-real-machine-emulator.
asciilifeform: if we had irons with bounds checkers, i would not even have dug up ada.
trinque: ada, or insert strictly typed draconian item of choice
asciilifeform: fwiw i prototype algos in cl, which later turn into ada , but this is 'harem' rather than forum
asciilifeform: ftr 1 of the many ruins that litter asciilifeform's hdds is a half-written ada ecc ( pre-ffa )
asciilifeform: http://btcbase.org/log/2018-11-19#1873641 << entirely agrees with my pov, which is why i had the .c in udp lib ( http://www.loper-os.org/?p=2557 ) instead of five kilometres of 'let's try to parse the c struct of 17 diff cpus in ada' ☝︎
deedbot: http://bvt-trace.net/2018/11/ada-system-calls-genesis/ << bvt's backtrace - Ada System Calls: Genesis
asciilifeform: i will add, thing is deliberately shaped in such a way that it could be hand-compiled to relatively uncomplicated asm, on most archs, by a clueful reader. my yet-ungenesis'd parallel attempt at this is somewhat behind the ada, but i expect will be maybe 3000 ln. total in the end.
a111: Logged on 2018-10-26 02:14 asciilifeform: meanwhile, in gnat bugs : apparently ( and this is documented or mentioned nowhere ) : it is impossible to have a Ada.Finalization.Limited_Controlled type ANYWHERE inside a static library, unless it is generic all the way down (i.e. if the lib package is generic, any sub-packages must also be instantiated as generics )
asciilifeform: ( in earlier ada they were quite ugly )
phf: it's got ada, emacs, sbcl (and some extra tooling like mutt and a pdf reader)
phf: ty, i've been using linux in console mode on my rk, so i wanted to write a framebuffer tooling for ada, using your mmap as blueprint (i'm not sure there's much overlap though..)
a111: Logged on 2018-10-26 02:14 asciilifeform: meanwhile, in gnat bugs : apparently ( and this is documented or mentioned nowhere ) : it is impossible to have a Ada.Finalization.Limited_Controlled type ANYWHERE inside a static library, unless it is generic all the way down (i.e. if the lib package is generic, any sub-packages must also be instantiated as generics )
a111: Logged on 2017-06-06 19:40 asciilifeform: mod6, phf , et al : http://nosuchlabs.com/pub/ada/horsecocks.tar.gz << i dun recall posting this before, so here it will live, for nao : unofficial release of mmaptron
phf: asciilifeform: would you mind reminding me where your ada mmap code lived?
asciilifeform: funnily enuff, an almost ~exact opposite~ of asciilifeform's experience in digging up ada ( reputation for gnarl, turns out actually simple & clean 'when used as prescribed' ) , risc-v - reputation for 'simple and clean', turns out ball o' hair
diana_coman: meanwhile the oaep got sorted better as part of smg comms really (i.e. only ada calling c, no back and forth dance and that gets rid of a LOT of confusion)
asciilifeform: tldr : yet-another nonconstanttime , notfitinhead piece of shit, valuable exhibit for kunstkammer of 'how not to ada'
asciilifeform: bvt: https://github.com/Componolit/libsparkcrypto/blob/componolit/src/shared/generic/lsc-bignum.adb << holyfuq, obfuscated ada contest !
asciilifeform: once we have a One Troo scripting language ( possibly some variant of spyked's gc-less ada lisp.. ) i'd like to write a vtron in that ( supposing nobody else beats me to it )
asciilifeform: in the particular example of udp, a coupla extra MOV's won't make a diff speedwise (vs the latency of the nic) but this sorta thing will be ugly once we start writing kernel mods in ada / moving off unix entirely
ave1: asciilifeform, diana_coman: I'm now looking into arm 64bit, but so far seems to be bit more involved. I've not found a way to directly couple an ada varable to a register.
a111: Logged on 2018-11-12 15:48 mircea_popescu: http://btcbase.org/log/2018-11-12#1871447 << an ada mpi, however, would be a most interesting item.
bvt: http://btcbase.org/log/2018-11-12#1871493 << first, i'd like to do a linux syscall ada tree (focusing on 4 syscalls first: openat,close,mmap,stat) for aarch64 and intel arches. ☝︎
asciilifeform: mircea_popescu: what exactly is an 'ada mpi' ? ( i.e. i assume it's diff from what i'm baking )
mircea_popescu: http://btcbase.org/log/2018-11-12#1871447 << an ada mpi, however, would be a most interesting item. ☝︎☟︎
diana_coman: pretty much that: if it's so ugly that you can't handle it sanely, then either fix it or, failing that, use Ada's Streams since that's what they are for anyway.
asciilifeform: if you have a 'cassette' that contains some unknown number of variably-sized gibblets, e.g. bitcoin block, yer stuck with some form of stream (either ada's, or hand-sewn replacement, tho so far i am actually happy with ada's and see no need to sew replacement)
mod6: So usually that leaves 30min-1hour per night, sometimes more depending on the size. Sometimes I fall down a well in the logs if i'm looking for something specific related to any number of things: pizarro, foundation, ada, ffa, who knows.
asciilifeform recently had the pleasure of rereading Mocky's 'why ada'. turns it the walk to ada was longer/thornier than asciilifeform remembers it being
a111: Logged on 2018-05-22 03:57 asciilifeform: !!rate Mocky 1 'why ada'
a111: Logged on 2018-11-10 20:37 mircea_popescu: http://mocky.org/Log-Reference-Why-Ada/ << did we ever discuss this ? :D
mircea_popescu: http://mocky.org/Log-Reference-Why-Ada/ << did we ever discuss this ? :D ☟︎
asciilifeform: mircea_popescu: fwiw i've found that the ada standard serialization, with the streams, does in fact work as specified. however i have not used in battlefield, remains to be properly exercised.
a111: Logged on 2018-10-23 06:31 mircea_popescu: slowly but surely a republican ada style manual is shaping up (and through the exact http://btcbase.org/log/2018-10-23#1865304 process, at that!)
mircea_popescu: the idea was to define n as a ada-style var, "from 1 to 19"
mircea_popescu: then a) ada should allocate this as a 4 bit value and b) ada allocating space for 15 records is entirely fine anyway. with a being a very minor point but b being a major point because we've reoriented ourselves to where features of the language are indistinct rather than inconvenient. this is very much the http://btcbase.org/log/2016-07-19#1505418 thing. ☝︎
mircea_popescu is not at all adverse to permitting ada metasyntactic considerations leak into the protocol. there's no rule specwork gotta happen in meta-c.
mircea_popescu: i honestly don't understand why ada doesn't have native support for structured data.
asciilifeform: this kinda thing can be frustrating, but imho it helps to remember that ada is ~deliberately~ 'not a haskell', it does not try to 'think for you', but rather leans to 'must be obvious to reader what proggy does'
asciilifeform: ( cuz ada is deliberately a 1-pass parser, it does not permit gnarly interdependency between record members that can't be resolved in 1 walk )
asciilifeform: diana_coman: ' I admit I am still not 100% sure of the actual, exact representation of such a record containing itself parametrized records since my understanding is that Ada will allocated maximum space (i.e. space to fit potentially the largest structure) ' >> i dug into this when baked 'nqb'. what it does is exactly this, recursively ( for ~each~ subrecord, allocates the maximum possible size ; ditto any subrecords. ) the represen
BingoBoingo: Can only ada things up in steps, and there's other moving parts underneath www-blogthing
asciilifeform: in other olds, http://dan.corlan.net/software/niliada.ada << the 'niliada' corlan was speaking of.
asciilifeform: mircea_popescu do you know this fella ? http://dan.corlan.net 'Alexandru-Dan Corlan, MD, PhD' 'stochastic models of patient evolution and pharmacologic response' 'high performance computing and programming in R, Ada and CommonLisp' ☟︎
deedbot: asciilifeform rated bvt 1 at 2018/10/10 21:20:12 << n00b, ada/vtronics experiments
bvt: hello, i have finally genesised the ada base64 lib: http://bvt-trace.net/2018/11/base64-genesis/
diana_coman: so yes, Ada spoils one basically
asciilifeform: type cast is the single most dangerous operation there is ( second only to pointerism, and notice how ada makes the latter extremely painful ) hence the thing forces you to 'measure 7 times, cut 1ce'
asciilifeform: there's exactly 2 ways to do it -- the above conversion mechanisms, or the stream (read nqb to see how) . cuz transmutation of data types is a specifically dangerous act, that is deliberately not made easy in ada
diana_coman: http://btcbase.org/log/2018-10-16#1863219 -> whine! I get the record neat representation part in Ada (or so I think). Re serialization though my current understanding is that I *have to* use ...Streams; is this even correct? ☝︎
asciilifeform: ( very sadly, there is not a vhdl eater for ice40. but when looking over subj 2w ago, i actually came to like vhdl, it's ~exactly ada syntax. )
asciilifeform: ( what 'genericism' does in ada, is to force the compiler to rebuild a copy of the lib for erry time the exported type is invoked in the caller. at which point may as well tell user to drop the src into his, rather than link the lib, the effect is the same )
a111: Logged on 2018-10-26 02:14 asciilifeform: meanwhile, in gnat bugs : apparently ( and this is documented or mentioned nowhere ) : it is impossible to have a Ada.Finalization.Limited_Controlled type ANYWHERE inside a static library, unless it is generic all the way down (i.e. if the lib package is generic, any sub-packages must also be instantiated as generics )
bvt: otoh, when i added a single line 'package SIO is new Ada.Sequential_IO(Positive);' to ffa_calc.adb, it errored out during the compilation in the same way
bvt: when i moved all ada.S_IO usage to a separate package/file, everything worked fine
bvt: ok, i have figured out one solution to the problem (at least on gnat 2017): can't have Ada.Sequential_IO specialization in the GPR_Project'Main file
bvt: No_Unchecked_Access is such restriction; i have tested a dummy application that does nothing but import and instantiate/specialize Ada.Sequential_IO instance for the datatype from base64 library. test application fails to compile, http://p.bvulpes.com/pastes/Vwno8/?raw=true http://p.bvulpes.com/pastes/qgs7E/?raw=true
a111: Logged on 2018-11-05 20:39 bvt: found and unexpected problem that specialization of Ada.Sequential_IO conflicts with Restriction(No_Unchecked_Access) in the test applications.
diana_coman: I just checked and I can confirm too: that restriction is fine here while using Ada.Sequential_IO
bvt: found and unexpected problem that specialization of Ada.Sequential_IO conflicts with Restriction(No_Unchecked_Access) in the test applications. ☟︎
a111: Logged on 2018-11-01 20:48 mircea_popescu: asciilifeform speaking of "taking suggestions" : suppose you bake me a proper drop-in gpg replacement. in ada, constant time, does FG-aware keygen, signing, verification, and encryption/decription. 100% rsa, none of the "cipher" bs as per current.
billymg: ahh, that would be it then. i don't seem to have ada, etc. installed
phf: http://btcbase.org/log/2018-11-02#1868722 << must be the dreaded ada/c interop. which version of gnat, which os are you using? ☝︎
mircea_popescu: asciilifeform speaking of "taking suggestions" : suppose you bake me a proper drop-in gpg replacement. in ada, constant time, does FG-aware keygen, signing, verification, and encryption/decription. 100% rsa, none of the "cipher" bs as per current. ☟︎
mircea_popescu: in the sense of "wait for diana_coman to publish ada code and then i'll maybe give it 6 hours of attention". that's your 3years
asciilifeform: http://ossasepia.com/2018/10/31/smg-comms-chapter-5-rsa-with-oaep-from-ada/#selection-155.1206-155.2305 << example of where i'dve used an ada record
asciilifeform: diana_coman: metoo, i had to breathe ada for yrs before working all the c sad out of my follicles
asciilifeform: ( c 'unions' are sad cuz c dun give you any portable knob for cementing where the bits actually go; ada's records are sane, you can specify the exact location of erry element, paddings, endianisms, bit orders )
asciilifeform: diana_coman: re: ToOctets / ToBitstream / etc -- do you know that ada has 'variant records' (similar to ye olde C 'unions' , but with typechecking ) , you could in principle use'em and avoid the conversions, for slightly cleaner proggy
asciilifeform: ada treats any statement that divides by anything other than an immediate constant ( incl. / or mod by a named constant ) as potentially div0-barfing
asciilifeform: ( using the ada ampersand notation )
asciilifeform: 'The new Ada code simply reads from a Fuckgoats that it expects to be available at a pre-set path, *already initialised*1 and ready to read from' << ha, nice
deedbot: http://ossasepia.com/2018/10/31/smg-comms-chapter-5-rsa-with-oaep-from-ada/ << Ossasepia - SMG Comms Chapter 5: RSA with OAEP from Ada
mircea_popescu: diana_coman did we end up with an ada impl of mersene twister at some juncture ?
diana_coman: asciilifeform, no proof that I'm aware of, as per earlier http://www.dianacoman.com/2017/11/22/taming-of-the-serpent-in-ada/#selection-49.0-49.393
asciilifeform: mircea_popescu: i have a serious wtf re serpent, and neither the s.mg/classic ada, nor the orig paper, has helped me to make sense of it, and i'm suspecting that i'm thick... so here it is:
asciilifeform: mod6: goin' back to my very full ada plate
diana_coman: more of a hack to accommodate the stink of MPI - not sure it's something we want in there; if anything, I guess I can see more the point to just walking the octets in the array and basically doing the comparison in Ada
diana_coman: that's the headache: oaep in ada, comparison in C, if not right, oaep in ada again, if right then rsa in C
diana_coman: or b. make an Ada comparison of 2 arrays of octets
diana_coman: but the comparison is iffy since either a. call c-wrapper and so do conversion from ada's oaep array of octets to C's MPI shit
diana_coman: the oaep padding is in ada
diana_coman: sure, one can implement the comparison in Ada
asciilifeform: vhdl is prolly worth a 2nd look, tho i currently suspect that it vs verilog aint a 'ada vs c' win, simply longer text that does same thing ( the only unit of data in fpgaism is really the bit, so 'types' dun exist )
asciilifeform: there actually exists an ada-flavoured variant, 'vdhl', but i never saw any win from it, loox rather like simply a moar verbose verilog. but! to be fair, that was 10y ago when i last dug, it was prior to asciilifeform's getting into adaism.
mircea_popescu: speaking of which -- an ada-to-verilog item would prolly be very fucking useful
asciilifeform: to continue in these lulz : ada std has a 'bounded string' type, that superficially is defined as exactly how i wanted to do 'path' type earlier. but! but! if actually invoked, it -- for no logical reason afaik -- prevents the invoking package from being declared stateless ( i.e. pragma Pure ), and this propagates ad infinitum , to caller.
asciilifeform: observe that E107 is undefined cuz it doesn't shit out a E107 : Short_Integer; pragma Import (Ada, E107, wherever); .
asciilifeform: meanwhile, in gnat bugs : apparently ( and this is documented or mentioned nowhere ) : it is impossible to have a Ada.Finalization.Limited_Controlled type ANYWHERE inside a static library, unless it is generic all the way down (i.e. if the lib package is generic, any sub-packages must also be instantiated as generics ) ☟︎☟︎☟︎☟︎☟︎☟︎☟︎
a111: Logged on 2018-10-25 18:59 bvt: well, i did not suggest learning/utilizing C api, on the contrary, a subset of kernel stuff in ada is the interesting thing. it just happens to be currently defined/documented as C code.
asciilifeform: bvt: linux kernel is fundamentally retarded, it expects null-termed rubbish, at times, at other times, char * and length, not to mention a pile of untyped ptrs inside structs, really oughta eat ada structs , ada fixed strings, properly typed arrays, etc instead
bvt: well, i did not suggest learning/utilizing C api, on the contrary, a subset of kernel stuff in ada is the interesting thing. it just happens to be currently defined/documented as C code. ☟︎
bvt: syscalltronic = based on direct invocation of linux syscalls? how this would be possible without haveing sockaddr_in in ada?
bvt: the thing is, structure definitions and all sort of flag numbers appear in the libc via magic. having all this things in ada is possible, and would involve exactly same work that e.g. musl people are doing today
bvt: Ada.Sequential_IO is wired straight into fopen/fread/fwrite, by the way.
a111: Logged on 2018-10-23 06:31 mircea_popescu: slowly but surely a republican ada style manual is shaping up (and through the exact http://btcbase.org/log/2018-10-23#1865304 process, at that!)
asciilifeform: bvt: thing is, there's a non-negotiable must-have subset of posix, that ~cannot~ be implemented as pure ada. e.g. the udp structs liquishit. or , as we learned from bvt , open()
bvt: i would much prefer going pure ada for a subset of posix. otherwise it's the same as relying on GNAT-specific packages -- it exports plenty of interesting stuff, not sure about networking though.
bvt: yes, i skimmed through it. all these sockaddr structures would be a bitch to do in ada. this is why i believe it would be useful to define, what subset we'd need.