2015-02-07T07:15:07Z ccl-logbot joined #lisp 2015-02-07T07:15:07Z 2015-02-07T07:15:07Z names: ccl-logbot ggole hvxgr psy_ theseb smokeink_ Shinmera zacts troydm smokeink MrWoohoo nell kapil__ gabriel_laddel Jesin JuanDaugherty djinni` pysnow530 impulse devll JokesOnYou77_ wenincode gko__ JokesOnYou77 Big_G oleo__ joshmcmillan_ PaulCapestany beach hiyosi zacharias_ kraison yeticry yrdz ggherdov gregburd_ rtra Neet normanrichards sharkz heurist` edgar-rft defaultxr cpc26 quazimodo thodg yenda ered bb010g robot-beethoven Quadrescence jgrant qbit 2015-02-07T07:15:07Z names: Lokathor_ Lokathor Longlius housel joga freehck kcj faheem_ radioninja Beetny Petit_Dejeuner Patzy ivan4th zeroish Vutral ruste ehaliewicz karswell wglb ASau AntiSpamMeta devon MutSbeta mvilleneuve metaf5 soggybread resttime |3b| DrCode sivoais Natch wilfredh lieven theos guaqua tajjada antgreen Adlai` Soft Mon_Ouie nopf c74d3 DeadTrickster H4ns Zhivago blahzik pchrist Grue` jaimef rvchangue_ renopt setheus gabot d4gg4d aksatac Jubb backupthrick otwieracz 2015-02-07T07:15:07Z names: Intensity sjl Oladon1 Mandus scymtym jackdaniel yauz froggey vlnx jpanest j0ni trn GuilOooo Vivitron` hugod mega1` ski agumonkey stardiviner egp__ scharan someone keen__________55 specbot minion frkout sword d4ryus___ bcoburn spacebat` pegu` ivan\ pjb kraehe john-mcaleely Ethan- johs BeLucid agam doobi-sham-95717 Kruppe tsumetai salva ramus Tristam egp_ josteink rick-monster Cymew joneshf-laptop jacsib kirin` work_op moei alchemis7 s_e ft edran dmiles_afk 2015-02-07T07:15:07Z names: lifenoodles spanter eazar001 MoALTz Oddity ahungry killmaster ``Erik Xach butyoudonot brucem vsync_ honkfestival luis jim87864` grungier sshirokov Posterdati ben_vulpes stux|RC-only Takumo aap gluegadget cojy_ splittist endou______ NhanH gz victor_lowther kjeldahl ecraven mathrick ryankara1on arrdem foom jdz wooden Khisanth lemoinem dilated_dinosaur leo2007 bege loke tristero jtz bytecrawler rvirding farhaven mingvs jasom kbtr enfors Amaan newcup Sgeo joast 2015-02-07T07:15:07Z names: billstclair milosn ThePhoeron __main__ thomas ozzloy fikusz_ j_king hratsimihah nightfly_ funnel mgv moomin-aba_ ssake_ sfa theBlackDragon zbrown alakran replcated_ vlion spacebat nydel Tordek_ The_third_man zickzackv mood ck_ yawniek_ eMBee nisstyre misv_ alex6407 nitrix dunib _death emma anunnaki dan64- justinmcp_ galdor hyoyoung cods dfox gensym pok mikaelj Colleen CrazyEddy oconnore shwouchk copec qlkzy Borbus mtd jonh hellome clop kyl_______ jrm 2015-02-07T07:15:07Z names: segmond enn Fade phadthai katco Krystof z0d daimrod cmatei sismondi K1rk tstc rotty_ diginet lea quasisane schjetne rtoym kanru isoraqathedh snafuchs jsnell larme gniourf emlow BlastHardcheese dlowe GGMethos charlie swflint ircbrows- gko_ PuercoPop abbe tomaw stopbyte whartung yorick dim gabc cyraxjoe clog axion mearnsh drmeister Tuxedo necronian JohnRimbaud capitaomorte mietek phf TristamWrk AeroNotix Plazma sellout akkad teiresias oGMo Rudolph-Miller_ 2015-02-07T07:15:07Z names: yeltzooo mmathers sid_cypher p_l eagleflo Cheery reb`` acieroid smull_ Ober bobbysmith0071 SHODAN Ralt decent flip214 kalzz aerique trigen cpt_nemo Subfusc Neptu renard_ arrsim fe[nl]ix drdo lpaste sytse Blkt joshe p_l|backup clop2 nitro_idiot tkd micro finnrobi xorpse samebchase cmbntr ferada cross les peccu2 stokachu tokenrove brent80_plow xristos eak tessier jayne nicdev sbryant chameco ConstantineXVI cibs antoszka Riviera zymurgy vhost- viaken notty 2015-02-07T07:15:07Z names: girrig schoppenhauer nightshade427 srcerer redline6561 zbigniew Bike brandonz_ 2015-02-07T07:17:39Z Lokathor left #lisp 2015-02-07T07:27:15Z beach: JokesOnYou77: Where did you see it? 2015-02-07T07:27:35Z JokesOnYou77: beach, decompiled a dll 2015-02-07T07:27:46Z beach: What processor? 2015-02-07T07:27:53Z Intensity quit (Ping timeout: 265 seconds) 2015-02-07T07:29:11Z JokesOnYou77: x86 2015-02-07T07:29:26Z beach: 32 bit? 2015-02-07T07:30:00Z JokesOnYou77: I think it's 32-bit 2015-02-07T07:32:52Z hellofunk joined #lisp 2015-02-07T07:33:05Z beach: Load Status Flags into AH Register. 2015-02-07T07:33:15Z theseb quit (Quit: Leaving) 2015-02-07T07:33:45Z JokesOnYou77: Thanks beach 2015-02-07T07:33:52Z beach: Sure. 2015-02-07T07:34:36Z JokesOnYou77: Decompiled something just to take a look and someone I showed it to giggled at that instruction :P 2015-02-07T07:35:48Z hellofunk quit (Remote host closed the connection) 2015-02-07T07:36:08Z beach: That someone is easily amused. 2015-02-07T07:36:49Z hellofunk joined #lisp 2015-02-07T07:39:05Z beach: Wow, the AMD manuals are sometimes not so great. "The LAHF instruction can only be executed in 64-bit mode if supported by the processor implementation." Does that mean: "In 64-bit more, the LAHF instruction can be executed only if the processor implementation supports it." or does it mean that in 32-bit mode it is not supported at all? 2015-02-07T07:40:38Z beach: They really should try to make an effort to avoid ambiguous sentences like that in technical manuals. 2015-02-07T07:40:51Z JokesOnYou77: :X The implications of that ambiguity are terrifying. 2015-02-07T07:41:20Z hugod quit (Read error: Connection reset by peer) 2015-02-07T07:41:22Z JokesOnYou77: Does intel have anything to say about it? Or do they not maintain proper docs as they are not open source 2015-02-07T07:41:46Z hugod joined #lisp 2015-02-07T07:41:47Z beach: They have their own set of manuals, and they are often better written. 2015-02-07T07:42:12Z beach: You can download both sets from the respective web sites. 2015-02-07T07:42:12Z JokesOnYou77: Oh, awesome then 2015-02-07T07:42:16Z Jesin quit (Ping timeout: 255 seconds) 2015-02-07T07:42:25Z beach: When in doubt, I try to read both. 2015-02-07T07:43:01Z JokesOnYou77: You've been ginving me that itch to get into the low level stuff. (Part of why I took the jump to decompile that .dll) 2015-02-07T07:43:19Z beach: Me? I can't imagine how that happened. 2015-02-07T07:44:55Z JokesOnYou77: rofl 2015-02-07T07:46:18Z JokesOnYou77: I'm torn though. If I take the effort to engage in a new persuit I think I should really go back to math. I think I'll ultimately be better served by having a stronger handle on my fundamentals. A BA in physics didn't get me as much as I had hoped 2015-02-07T07:47:16Z beach: Then try some discrete math. Like graph theory or abstract algebra. 2015-02-07T07:49:31Z beach: I guess there is some fun stuff in other branches of math as well, like transform theory. 2015-02-07T07:49:38Z JokesOnYou77: I've been working in graphs at work and I really do think I would like it. But I really think what I need is more statistics and matrix operations for data manipulation (plus a serious revisitation to my basic stats) 2015-02-07T07:50:45Z beach: What are you using matrices for? I am asking because they are often used by physicists and engineers where there are better alternatives, simply because that's what they know to manipulate. 2015-02-07T07:51:48Z JokesOnYou77: For low level stuff I feel like I need more combinations/permutations basics and then some higher level theory (like real analysis maybe) to nail things down, but for data analysis I want advanced linear algebra (more than I did in school). 2015-02-07T07:54:25Z JokesOnYou77: Ah, I want the matricies not because I believe I need to represent my data structures in pregrams as arrays, but because when I am confronted with a choice about which library to choose for a task or which priors to assign to parameters, the underlying mathematics is often in matrix transforms and similar areas that I need a deeper understanding of in order to make intelligent decisions. 2015-02-07T07:55:08Z beach: I see. 2015-02-07T07:56:57Z gingerale joined #lisp 2015-02-07T07:57:13Z JokesOnYou77: Do my conclusions seem to make sense? I feel torn. For understanding the technical O() implications I need one kind of understanding, but for porforming the dataanalysis I feel I need something different 2015-02-07T07:58:56Z freehck quit (Read error: No route to host) 2015-02-07T07:59:42Z malbertife joined #lisp 2015-02-07T08:00:57Z d4ryus_ joined #lisp 2015-02-07T08:03:27Z zadock joined #lisp 2015-02-07T08:04:11Z d4ryus___ quit (Ping timeout: 250 seconds) 2015-02-07T08:06:44Z stepnem joined #lisp 2015-02-07T08:10:40Z zadock quit (Remote host closed the connection) 2015-02-07T08:12:46Z nell quit (Quit: WeeChat 1.2-dev) 2015-02-07T08:14:53Z ehaliewicz quit (Ping timeout: 250 seconds) 2015-02-07T08:16:14Z malbertife_ joined #lisp 2015-02-07T08:17:42Z beach: JokesOnYou77: Do both, or all. 2015-02-07T08:18:15Z JokesOnYou77: Eventually, I will. 2015-02-07T08:19:56Z malbertife quit (Ping timeout: 244 seconds) 2015-02-07T08:19:56Z quazimodo quit (Ping timeout: 244 seconds) 2015-02-07T08:20:09Z zadock joined #lisp 2015-02-07T08:20:55Z gko__ quit (Quit: Connection closed for inactivity) 2015-02-07T08:28:33Z JokesOnYou77 quit (Quit: Ex-Chat) 2015-02-07T08:31:25Z sismondi quit (Read error: Connection reset by peer) 2015-02-07T08:31:50Z sismondi joined #lisp 2015-02-07T08:32:14Z ehu joined #lisp 2015-02-07T08:33:46Z resttime quit (Quit: resttime) 2015-02-07T08:35:33Z Quadrescence: Has anyone worked on versioned packages? It seems like versioned packages + package-local nicknames would be a clear-cut solution to issues with loading multiple versions of libraries at the same time. 2015-02-07T08:36:16Z Quadrescence: Versioned packages could be built on top of current ones, albeit in a somewhat hacky fashion, by putting version information in the package name. 2015-02-07T08:38:10Z beach: You definitely need the "package-local nicknames" (or "package aliases") for that to be feasible. 2015-02-07T08:38:19Z Quadrescence: Yes. 2015-02-07T08:39:04Z beach: I can't see myself typing (cleavir-ast-transformations-version-at-least-1.12.3:hoist ast) 2015-02-07T08:39:42Z Quadrescence: Of course not, no. It wouldn't work otherwise. 2015-02-07T08:40:10Z beach: But yeah, I have wanted package aliases for a long time, and that would be a reasonable place to resolve versions. 2015-02-07T08:40:37Z tkhoa2711 joined #lisp 2015-02-07T08:40:39Z Quadrescence: I have this idea that Common Lisp doesn't really scale well in "industrial applications". It did, 25 years ago, when companies wrote *all* the code themselves. 2015-02-07T08:40:59Z Shinmera: Hardly anyone does anything with package-local-nicknames due to their implementation dependency. 2015-02-07T08:41:15Z beach: Right, that's the problem. 2015-02-07T08:41:24Z beach: I forget, is there a CDR about it? 2015-02-07T08:41:44Z Quadrescence: I don't think so, but do implementations even follow the CDRs? 2015-02-07T08:42:00Z ehu: Quadrescence: is it normal for industrial applications to load different versions of the same library? 2015-02-07T08:42:19Z beach: I would certainly not try to invent something myself if someone took the time to investigate and write a CDR about it. 2015-02-07T08:42:39Z Quadrescence: ehu, It can end up happening because of transitive dependencies. 2015-02-07T08:42:57Z beach: The CDRs are of varying quality of course. But there is no need to implement the suggestions of the bad ones. 2015-02-07T08:43:36Z ehu: I'd expect that situation to be carefully managed, especially in the industrial situation. 2015-02-07T08:43:42Z Quadrescence: Maybe I should urge |3b| to write a CDR since he seems to have been the sole one to actually write code to implement P-L-N. 2015-02-07T08:43:55Z beach: ehu: It might also happen when we have a single Common Lisp process for a bunch of applications. 2015-02-07T08:44:10Z ehu: ah. that's different. 2015-02-07T08:44:13Z ehu: true. 2015-02-07T08:44:24Z Quadrescence: ehu, It is carefully managed, but gets difficult as time passes when you want to upgrade some of your libraries. 2015-02-07T08:44:33Z ehu: but with today's memory availability, wouldn't you start multiple instances? 2015-02-07T08:44:48Z ehu: (CL instances, I mean) 2015-02-07T08:44:55Z Quadrescence: ehu, How can you ensure that when you upgrade a subset of the libraries you're using that everything will remain synchronized? Of course, Quicklisp just makes the assumption that everything works with the latest stuff out there. 2015-02-07T08:45:13Z beach: Quadrescence: My guess would be that you would have a hard time getting it done just by urging someone. You might have to put up the infrastructure such as a GitHub repository. 2015-02-07T08:45:26Z ehu: Quadrescence: By upgrading from one to another quicklisp set? 2015-02-07T08:45:50Z beach: ehu: It has nothing to do with saving memory and everything to do with sharing a single address space. 2015-02-07T08:45:51Z cadadar joined #lisp 2015-02-07T08:45:57Z Quadrescence: ehu, Starting separate processes can have its pros and cons. The cons are namely having to do IPC. 2015-02-07T08:46:03Z Quadrescence: beach beat me to it 2015-02-07T08:46:33Z ehu: ok. true. it can help reduce the number of times one runs into issues like these. 2015-02-07T08:46:48Z beach: Quadrescence: I suggest you start a repository in (say) LaTeX and announce it here. 2015-02-07T08:47:19Z Quadrescence: beach, sounds like a good idea 2015-02-07T08:47:35Z beach: I would certainly contribute. 2015-02-07T08:47:59Z Quadrescence: ehu, It depends on how one sets up their libraries. Sometimes Quicklisp "dists" aren't good enough. Example: I have observed the need to actually go into third-party libraries and modify the source code, so as to avoid nickname conflicts with other package names. 2015-02-07T08:48:38Z Quadrescence: ehu, Second point, one may not want to do an upgrade of every single system that exists. It could bring in a lot of surface area for potential bugs and incompatibilities. 2015-02-07T08:49:08Z Shinmera: I'm not sure what having multiple versions at the same time has to do with 'industrial applications' as I don't think I've ever seen anyone in, say, Java using two different versions of the same lib at the same time. 2015-02-07T08:49:12Z ehu: that's the downside of solving problems by bringing in dependencies, indeed. 2015-02-07T08:49:30Z beach: Quadrescence: You just gave me another advantage of first-class global environments that I can put in my paper. Thanks! 2015-02-07T08:49:35Z Quadrescence: :) 2015-02-07T08:50:11Z Quadrescence: Shinmera, I can't control what library writers choose to use. If they happen to require the functionality of a library version A, but my own app requires the functionality of version B (the updated one), then I can't just put B in, if B is not backwards compatible with A. 2015-02-07T08:50:28Z Quadrescence: Like I said, a long time ago, this apparently wasn't a problem since companies just wrote all the code themselves. 2015-02-07T08:50:31Z Shinmera: I know what you're saying and I understand your problem. 2015-02-07T08:50:59Z Shinmera: I just don't agree that it has anything to do with CL 'not scaling well for industrial applications' 2015-02-07T08:51:34Z Quadrescence: Shinmera, Why don't you think it's related? 2015-02-07T08:51:55Z Shinmera: Because it's a problem that is not necessarily related to scale at all? 2015-02-07T08:52:22Z Quadrescence: Shinmera, Maybe "scale" should be defined. I'm talking about scale in source code/system-inclusion size. 2015-02-07T08:52:47Z Shinmera: Even then. 2015-02-07T08:52:49Z Quadrescence: When you have a single software system that makes use of 100+ ASD systems. 2015-02-07T08:53:03Z Quadrescence: You get all sorts of issues with packages and versioning then. 2015-02-07T08:53:05Z Shinmera: You can run into the problem with as few as two libraries. 2015-02-07T08:53:12Z zeitue joined #lisp 2015-02-07T08:53:32Z Quadrescence: Well, yes, you can in principle... 2015-02-07T08:54:02Z Shinmera: Anyway, I'm not sure that packages would be the right place to pick up for this. It sounds more like a hack than a solution to me. 2015-02-07T08:54:11Z Shinmera: And given that even this hack isn't really supported widely at all 2015-02-07T08:54:22Z Shinmera: I'd rather focus on finding a solution that is tailored to the problem. 2015-02-07T08:54:33Z Quadrescence: Do you have anything in mind? 2015-02-07T08:54:59Z Shinmera: I'm trying to think right now. 2015-02-07T08:55:34Z Quadrescence: Packages seem to be the point of failure from a technical standpoint, and beyond that, I can only imagine some global policy fixing the issue otherwise. But Lispers don't seem to like policy. 2015-02-07T08:55:50Z Shinmera: No, packages aren't the point of failure 2015-02-07T08:55:57Z Shinmera: the point of failure is having two clashing ecosystems. 2015-02-07T08:56:25Z Quadrescence: Okay, the problem manifests itself in package issues and incompatibilities. 2015-02-07T08:56:47Z kuzy000_ joined #lisp 2015-02-07T08:56:57Z Shinmera: The only thing I can think of right now is a system above packages that allows you to create separate environment to put packages in. 2015-02-07T08:57:11Z Shinmera: Which would sound like beach's FCGE 2015-02-07T08:57:36Z Shinmera: Using an approach like that would also solve the problem of burdening every library writer with changing their packages to allow versioning 2015-02-07T08:57:36Z axion: is there a way to define a PRINT-OBJECT method on a defstruct that is deftype'd to be a simple-array? 2015-02-07T08:58:21Z Quadrescence: axion, if your structure isn't actually a structure type but an array type, no. 2015-02-07T08:58:30Z axion: ok 2015-02-07T08:58:35Z Shinmera: Since you, the person who has clashes, could create separate environments for each side and use them accordingly to their versions. 2015-02-07T08:58:59Z Shinmera: Rather than requiring packages to be version-named (which in itself just grosses me out) 2015-02-07T08:59:09Z axion: i guess i'll use set-pprint-dispatch then 2015-02-07T08:59:22Z Quadrescence: Packages of course wouldn't be "version named", they'd have a :VERSION option in the defpackage. 2015-02-07T08:59:30Z beach: Putting the version in the package name is definitely not ideal. 2015-02-07T08:59:49Z Shinmera: Quadrescence: then you still have the problem of burdening library writers. 2015-02-07T09:00:07Z Quadrescence: Putting it in the name is just the only way I could see implementing what I was thinking. 2015-02-07T09:00:12Z Quadrescence: Shinmera, I guess I don't understand enough about beach's FCGE to know what you're talking about. 2015-02-07T09:00:14Z eni_ joined #lisp 2015-02-07T09:00:59Z munksgaard joined #lisp 2015-02-07T09:01:18Z Shinmera: My understanding is that it's basically a package for packages. 2015-02-07T09:01:25Z beach: Quadrescence: When you have first-class global environments, you can map a package name to different packages in different environments. 2015-02-07T09:01:49Z beach: Quadrescence: So you could put conflicting applications in different environments. 2015-02-07T09:01:57Z scymtym_ joined #lisp 2015-02-07T09:02:40Z beach: Shinmera: More than that. A first-class global environment maps all names (variables, functions, classes, packages, types, etc) to their respective meanings. 2015-02-07T09:02:50Z Shinmera: Right 2015-02-07T09:03:08Z Shinmera: I was simplifying for the current scenario. 2015-02-07T09:03:14Z beach: Got it. 2015-02-07T09:03:47Z agumonkey quit (Quit: ZNC - http://znc.in) 2015-02-07T09:03:56Z sivoais quit (Ping timeout: 246 seconds) 2015-02-07T09:05:05Z agumonkey joined #lisp 2015-02-07T09:05:38Z |3b|: Quadrescence: i think there were forks of my p-l-n with patches for at least 1 implementation, and i think the versions in sbcl and abcl were written by other people 2015-02-07T09:06:03Z xificurC joined #lisp 2015-02-07T09:07:31Z |3b|: as far as specification, at this point i'd just say "whatever ended up in SBCL's version (which i think is pretty close to what i had)" 2015-02-07T09:07:48Z Quadrescence: Shinmera, I'll need to see more about how a user can interact with global environments before I understand how it can viably solve such problems. I am definitely not seeing it, given Lisp's single image deal. I'm seeing all code get compiled and loaded, presumably into some environment. Then when I want to load my own application, I do so into another environment. But I guess there would need to some knowledge of one environment in the other? 2015-02-07T09:07:48Z Quadrescence: I don't know. 2015-02-07T09:08:32Z |3b| didn't write a formal spec for it originally because the remaining details affected things i don't do much, so i didn't really have any insight on the proper resolution (mostly print-read consistency from what i remember) 2015-02-07T09:08:38Z Shinmera: You load the clashing library trees in separate environments and then map their packages to your own. 2015-02-07T09:08:51Z ehu: |3b|: however, how do we verify that what's in ABCL is close enough for people to use what they wrote for SBCL? 2015-02-07T09:08:57Z Shinmera: Thus avoiding them clashing with each other and still being available in your environment. 2015-02-07T09:09:05Z ehu: (if you don't have a document writing how it's supposed to work) 2015-02-07T09:09:27Z |3b|: ehu: right, the situation could be better 2015-02-07T09:10:30Z |3b|: and would be nice to get it into ecl and ccl as well 2015-02-07T09:10:40Z zadock quit (Quit: Leaving) 2015-02-07T09:11:22Z |3b|: as far as i know, the ABCL feature is intended to match the SBCL feature though, so presumably they might accept it as a bug if it didn't match SBCl 2015-02-07T09:11:43Z Quadrescence: Shinmera, The reason why that's problematic to me is that it's still totally opaque what depends on what. It seems like a bandage, but at some point, one will still need to identify what's clashing with what, and who is expecting what source code from which particular date/time/version. 2015-02-07T09:11:46Z |3b|: and i think sbcl's is documented 2015-02-07T09:12:13Z sivoais joined #lisp 2015-02-07T09:12:31Z Shinmera: Quadrescence: But you always need to identify what clashes. 2015-02-07T09:12:52Z Quadrescence: Yes. 2015-02-07T09:12:59Z Shinmera: So what's your point again? 2015-02-07T09:15:13Z zeitue quit (Ping timeout: 244 seconds) 2015-02-07T09:15:19Z Shinmera: I thought the discussion was about how to solve the situation of having a clash. 2015-02-07T09:15:50Z Quadrescence: Okay, let's back up. There are two classes of errors we are talking about. (1) Name conflicts with package names and package nicknames. (2) API conflicts with a system X that changes over time, where systems A depends on X from some point in time, and system B on X from another point in time. 2015-02-07T09:15:57Z beach: Quadrescence: It is perfectly reasonable in a system with first-class global environments to make an application loaded into an environment E1 available in a different environment E2. 2015-02-07T09:16:25Z harish joined #lisp 2015-02-07T09:16:43Z Shinmera: Quadrescence: FCGE solve both. 2015-02-07T09:16:50Z smokeink_ quit (Quit: Angelic v4.4 - http://angelic.flexnet.org) 2015-02-07T09:17:01Z Quadrescence: (Keeping in mind that there's no way to distinguish between system X at different points in time within the source code itself.) 2015-02-07T09:19:34Z Quadrescence: With FCGE, I'm getting the impression that it is now up to the consumer of the library to figure out precisely what the dependencies of a library are, ensuring that such source code exists and is within my tree, is somehow distinguished (by way of a version number in the directory name, maybe), and is correctly pointed to and loaded under a separate environment than my own application, or other libraries I'm using in my application. 2015-02-07T09:19:46Z beach: Shinmera: I might still want a package alias for package P1 that is valid for only one particular package P2 as opposed to for the entire environment. 2015-02-07T09:20:05Z Shinmera: beach: Sure. 2015-02-07T09:24:52Z Quadrescence: beach, when will we see a paper described your FCGE? 2015-02-07T09:25:43Z Quadrescence: (or a draft!) 2015-02-07T09:25:57Z eni_ quit (Ping timeout: 256 seconds) 2015-02-07T09:28:23Z zeitue joined #lisp 2015-02-07T09:28:44Z Shinmera: At ELS, most likely. 2015-02-07T09:29:27Z beach: Quadrescence: It is already in the GitHub repository. Hold on, I'll compile a recent version and make the PDF available... 2015-02-07T09:30:44Z beach: http://metamodular.com/environments.pdf 2015-02-07T09:31:11Z beach: sections 4.4 and 4.5 were added as a result of this discussion. :) 2015-02-07T09:32:08Z Quadrescence: beach, thanks! 2015-02-07T09:32:16Z beach: Shinmera: Provided the referees accept it. 2015-02-07T09:32:48Z beach: Quadrescence: Comments appreciated as usual, if you have time to read it. 2015-02-07T09:32:53Z harish quit (Ping timeout: 250 seconds) 2015-02-07T09:33:40Z cadadar: beach, Shinmera, Quadrescence: That's a really interesting topic; and thanks for the link, beach 2015-02-07T09:34:03Z Quadrescence: It's a really annoying topic! It can make life miserable. :) 2015-02-07T09:34:18Z beach: cadadar: No problem. And, yes, I agree. Very interesting topic. 2015-02-07T09:34:46Z beach: Speaking of which, who will be at ELS? 2015-02-07T09:34:57Z Shinmera: Quadrescence: As for how much of a problem on the user it is: Keeping and loading separate versions should be as easy as loading two different QL dist versions. 2015-02-07T09:35:37Z Big_G quit (Ping timeout: 246 seconds) 2015-02-07T09:36:07Z Harag joined #lisp 2015-02-07T09:36:20Z cadadar: Quadrescence: I know, I've experienced that (although not in CL) - but that makes solving it properly even more interesting 2015-02-07T09:38:30Z angavrilov joined #lisp 2015-02-07T09:39:14Z eni_ joined #lisp 2015-02-07T09:40:40Z axion: beach: 4.1 "Sanboxing" typo 2015-02-07T09:40:46Z axion: err 4.3 2015-02-07T09:40:53Z beach: Thanks. 2015-02-07T09:42:04Z devll quit (Remote host closed the connection) 2015-02-07T09:42:09Z axion: Was a good read, ableit slightly over my head 2015-02-07T09:42:53Z beach: It's not rocket science, though. If something is not clear, you should let me know. 2015-02-07T09:43:55Z axion: Moreso, I'm not familiar with a lot of the standard to make sense out of your proposition 2015-02-07T09:45:14Z beach is gradually becoming dyslexic, so he makes more and more typos. :( 2015-02-07T09:45:27Z beach: axion: Oh, OK. 2015-02-07T09:45:42Z axion: It's the grammar errors you must watch out for. Everyone has a spellchecker :) 2015-02-07T09:46:05Z Shinmera: beach: On another matter: Have the new tests/benchmarks revealed anything interesting? 2015-02-07T09:46:23Z Shinmera: axion: Spell-checkers can't correct all spellings. 2015-02-07T09:46:23Z beach: I am pretty good with grammar. But I can now stare at a word and it looks fine to me no matter how long I stare, even though it is wrong. 2015-02-07T09:47:13Z beach: Shinmera: I haven't heard from my colleague who is in charge of them. I think she might have been busy. I'll poke her, because we are getting close to deadline. 2015-02-07T09:47:22Z Shinmera: Alrighty. 2015-02-07T09:51:13Z Quadrescence: beach, Regarding previous work, it might benefit if you mentioned Garret's idea of a "lexicon". They aren't the same as what you have by any means, but they're conceptually related. If you haven't read it or looked at it, http://www.flownet.com/ron/lisp/lexicons.pdf 2015-02-07T09:53:01Z beach: Quadrescence: Good idea. Thanks. I still have more to say about previous work. 2015-02-07T09:53:19Z beach: That's basically what I will do in the next few weeks. 2015-02-07T09:54:15Z zadock joined #lisp 2015-02-07T09:55:11Z devll joined #lisp 2015-02-07T09:56:04Z defaultxr quit (Quit: gnight) 2015-02-07T09:56:22Z gingerale quit (Ping timeout: 255 seconds) 2015-02-07T09:56:45Z Quadrescence: beach, I see that anything to do with the reader is missing. Is that because all of that is encapsulated in the readtable already, and the *READTABLE* would be a binding in the global environment? 2015-02-07T09:57:05Z xificurC quit (Quit: WeeChat 1.1.1) 2015-02-07T09:58:25Z vaporatorius joined #lisp 2015-02-07T09:59:05Z Guthur joined #lisp 2015-02-07T09:59:07Z Quadrescence: (set-syntax-from-char #\( #\)) is an evil way to destroy your session. 2015-02-07T10:05:50Z beach: Quadrescence: Yes, *READTABLE* would be a binding in the global environment. 2015-02-07T10:06:15Z attila_lendvai joined #lisp 2015-02-07T10:11:21Z MutSbeta quit (Quit: Leaving.) 2015-02-07T10:11:47Z schaueho joined #lisp 2015-02-07T10:14:40Z heurist` quit (Ping timeout: 252 seconds) 2015-02-07T10:21:15Z fantazo joined #lisp 2015-02-07T10:23:49Z schaueho quit (Ping timeout: 264 seconds) 2015-02-07T10:24:11Z mishoo joined #lisp 2015-02-07T10:30:52Z fantazo quit (Ping timeout: 240 seconds) 2015-02-07T10:31:07Z fridim_ joined #lisp 2015-02-07T10:31:35Z fantazo joined #lisp 2015-02-07T10:32:05Z kcj quit (Read error: Connection reset by peer) 2015-02-07T10:33:24Z zacharias_ is now known as zacharias 2015-02-07T10:33:41Z mega1` quit (Ping timeout: 250 seconds) 2015-02-07T10:35:01Z pysnow530 quit (Quit: Leaving) 2015-02-07T10:35:36Z Karl_Dscc joined #lisp 2015-02-07T10:40:55Z munksgaard quit (Ping timeout: 250 seconds) 2015-02-07T10:41:30Z tkhoa2711 quit (Quit: tkhoa2711) 2015-02-07T10:41:37Z heurist` joined #lisp 2015-02-07T10:45:40Z Shinmera: beach: I see no mention of RENAME-PACKAGE in your paper, is that on purpose? 2015-02-07T10:46:21Z beach: Shinmera: Yes, on purpose. (SETF PACKAGE-NAME) and (SETF PACKAGE-NICKNAMES) accomplish that. 2015-02-07T10:46:52Z beach: Not completely thought out, though. Perhaps RENAME-PACKAGE would be better. 2015-02-07T10:47:21Z Shinmera: I personally prefer the SETF way, but just for compatibility's sake I'd include RENAME-PACKAGE. 2015-02-07T10:47:33Z Shinmera: Maybe compatibility's the wrong word here. 2015-02-07T10:47:40Z beach: Yes, it is. :) 2015-02-07T10:47:52Z beach: The functions in this protocol are not supposed to be used directly. 2015-02-07T10:47:59Z zacharias quit (Ping timeout: 265 seconds) 2015-02-07T10:48:49Z beach: Nothing prevents me from supplying both. 2015-02-07T10:48:51Z Lokathor_ quit (Ping timeout: 250 seconds) 2015-02-07T10:49:05Z beach: But then, it might not be called a "protocol" anymore. 2015-02-07T10:49:15Z beach: I forget the difference between "protocol" and "api". 2015-02-07T10:50:01Z beach: Anyway, I am pleased to have several people scrutinize the paper. Thanks again. 2015-02-07T10:50:59Z Shinmera: One thing I am missing a bit in the paper is what FCGEs are /not/ for. 2015-02-07T10:51:17Z beach: Heh! I don't know. :) 2015-02-07T10:51:29Z beach: Preventing future wars? 2015-02-07T10:52:18Z Shinmera: I don't know, usually there's some form of discussion about potential downsides. 2015-02-07T10:52:35Z Quadrescence: FWIW, I consider "protocol" within the context of Common Lisp to mean a set of CLOS generic functions. An API (to me) is a much broader concept that deal with the surface area of a library meant for public consumption. 2015-02-07T10:52:49Z beach: Seriously, you are right. The absence of performance penalty prevents me from "changing environments" on the fly and have functions resolve to the new environment. 2015-02-07T10:53:25Z Shinmera: Right, that was another thing that I wasn't sure about from reading the paper: To what extent environment-switching is possible. 2015-02-07T10:53:29Z beach: Shinmera: I will definitely add some paragraphs about what can't be done. 2015-02-07T10:53:33Z Quadrescence: The only downside I could think of, which may not be a downside at all, is that you need CLOS bootstrapped pretty early on to use such a primitive concept like "environments", which might make the supposed bootstrapping benefit kind of dubious. But again, I am no Lisp compiler expert. 2015-02-07T10:54:05Z Shinmera: Quadrescence: The idea is to use another CL to bootstrap, so CLOS should be there already. 2015-02-07T10:54:07Z eni_ quit (Remote host closed the connection) 2015-02-07T10:54:36Z Quadrescence: I understand that bit, but presumably the environment has to live in the target too. 2015-02-07T10:54:40Z beach: It is not without problems, but it can be done, and it is one of the strong points of SICL, namely that I can use the full Common Lisp language in bootstrapping. 2015-02-07T10:54:58Z beach: Quadrescence: Yes, I bootstrap CLOS first. :) 2015-02-07T10:56:15Z Alfr joined #lisp 2015-02-07T10:56:20Z Quadrescence: Another question I had (which I was going to think about before I asked) was why it should be a GF protocol in the first place. I tried to think of scenarios for having different subclasses of environments. 2015-02-07T10:57:38Z beach: I use different subclasses all the time. Currently, the protocol uses "duck typing", but I might want to require that all classes be subclasses of some base class ENVIRONMENT. 2015-02-07T10:58:11Z beach: Is that what you are asking? 2015-02-07T10:58:28Z Quadrescence: What kinds of subclasses of ENVIRONMENT would you have? 2015-02-07T10:58:48Z beach: Various backend-specific environments for instance. 2015-02-07T10:59:19Z beach: ... so that I can customize compilation according to the environment. 2015-02-07T11:00:37Z Quadrescence: Hm, I guess. Maybe you should specify an ENVIRONMENT base class then. :) But that might destroy some flexibility you might want in the protocol. 2015-02-07T11:00:53Z beach: It might. I need to think about it. 2015-02-07T11:01:26Z beach: I do think it is cute to bootstrap CLOS first. 2015-02-07T11:01:31Z fridim_ quit (Ping timeout: 265 seconds) 2015-02-07T11:02:04Z beach: If for no other reason than to confuse the hell out of people who think that a Common Lisp system must be bootstrapped from C or something similar. :) 2015-02-07T11:04:57Z CrazyWoods joined #lisp 2015-02-07T11:07:14Z beach: I guess it is more necessary in SICL than in other systems to have CLOS early, since my built-in instances basically have the same structure as standard objects. 2015-02-07T11:10:54Z beach: From reading the CLIM II spec, I see that Scott McKay is using "protocol" to mean "minimal API", i.e. there are no convenience functions in the protocol, but there can be such functions in the API, which could then be implemented by using other functions of the protocol. 2015-02-07T11:11:26Z beach: So RENAME-PACKAGE could be part of the API without being part of the protocol. 2015-02-07T11:15:08Z Shinmera: In my understanding protocol meant the specification and API a specific implementation. 2015-02-07T11:15:12Z taspat joined #lisp 2015-02-07T11:15:35Z beach: I have never seen that before. 2015-02-07T11:15:52Z beach: ... which doesn't mean you are wrong. 2015-02-07T11:15:56Z Shinmera: Well, that's just what I understood by reading the terms a few times. 2015-02-07T11:16:16Z Shinmera: So I'm more likely wrong than right, since I really have no clue if there is a precise definition. 2015-02-07T11:16:29Z pt1 joined #lisp 2015-02-07T11:24:27Z fantazo quit (Remote host closed the connection) 2015-02-07T11:24:33Z d4ryus_ is now known as d4ryus 2015-02-07T11:25:29Z oleo__ quit (Quit: Verlassend) 2015-02-07T11:25:55Z mishoo quit (Ping timeout: 255 seconds) 2015-02-07T11:30:51Z smokeink quit (Quit: Lost terminal) 2015-02-07T11:35:26Z attila_lendvai quit (Quit: Leaving.) 2015-02-07T11:36:28Z beach: Since the word "to link" is not defined in the Common Lisp HyperSpec, I am going to use it to mean to associate some code with a particular first-class global environment. Then "to load" means to transfer from a file to memory AND THEN to link. 2015-02-07T11:39:27Z zacharias joined #lisp 2015-02-07T11:49:58Z psy_ quit (Ping timeout: 264 seconds) 2015-02-07T11:53:10Z hiroakip joined #lisp 2015-02-07T11:55:02Z pt1 quit (Remote host closed the connection) 2015-02-07T11:55:10Z Beetny quit (Ping timeout: 265 seconds) 2015-02-07T11:59:37Z hiroakip quit (Remote host closed the connection) 2015-02-07T12:00:18Z hiroakip joined #lisp 2015-02-07T12:00:56Z hitecnologys joined #lisp 2015-02-07T12:03:25Z hiroakip quit (Remote host closed the connection) 2015-02-07T12:05:29Z hiroakip joined #lisp 2015-02-07T12:07:35Z rtra quit (Ping timeout: 250 seconds) 2015-02-07T12:09:23Z Harag quit (Read error: Connection reset by peer) 2015-02-07T12:10:39Z Harag joined #lisp 2015-02-07T12:13:34Z rtra joined #lisp 2015-02-07T12:15:23Z Harag quit (Ping timeout: 256 seconds) 2015-02-07T12:16:25Z quazimodo joined #lisp 2015-02-07T12:16:39Z splittist: beach: http://paste.lisp.org/+34F1 for your consideration 2015-02-07T12:17:44Z Harag joined #lisp 2015-02-07T12:21:07Z cadadar: is there a better way to apply a list of predicates to some items than something like this: http://paste.lisp.org/display/145694#1 (annotation #1 for better formatting) For some reason I feel like I'm missing a better way... 2015-02-07T12:24:03Z qbit quit (Ping timeout: 264 seconds) 2015-02-07T12:24:32Z qbit joined #lisp 2015-02-07T12:24:56Z qbit is now known as Guest61504 2015-02-07T12:26:54Z ehu: cadadar: reduce? 2015-02-07T12:28:59Z oleo joined #lisp 2015-02-07T12:29:00Z oleo quit (Changing host) 2015-02-07T12:29:00Z oleo joined #lisp 2015-02-07T12:30:44Z ConstantineXVI quit (Quit: Disconnected) 2015-02-07T12:31:49Z cadadar: ehu: instead of not-every? 2015-02-07T12:32:38Z mishoo joined #lisp 2015-02-07T12:36:01Z hitecnologys_ joined #lisp 2015-02-07T12:37:00Z spacebatty joined #lisp 2015-02-07T12:39:09Z hitecnologys quit (Ping timeout: 265 seconds) 2015-02-07T12:40:39Z zeitue quit (Ping timeout: 245 seconds) 2015-02-07T12:41:37Z beach: splittist: Thank you very much! 2015-02-07T12:43:00Z Soft quit (Quit: WeeChat 1.2-dev) 2015-02-07T12:46:10Z robot-beethoven quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2015-02-07T12:47:03Z heurist` quit (Ping timeout: 245 seconds) 2015-02-07T12:47:49Z antgreen quit (Ping timeout: 264 seconds) 2015-02-07T12:51:39Z Guest61504 is now known as qbit 2015-02-07T12:51:57Z arboris joined #lisp 2015-02-07T12:54:08Z nyef joined #lisp 2015-02-07T12:54:29Z nyef: G'morning all. 2015-02-07T12:54:42Z beach: Hello nyef. 2015-02-07T12:54:50Z zeitue joined #lisp 2015-02-07T12:54:56Z jackdaniel: o/ 2015-02-07T12:58:59Z Natch quit (Ping timeout: 245 seconds) 2015-02-07T12:59:05Z Natch_a joined #lisp 2015-02-07T13:00:54Z yenda quit (Ping timeout: 265 seconds) 2015-02-07T13:07:22Z zacharias quit (Remote host closed the connection) 2015-02-07T13:07:35Z mishoo quit (Ping timeout: 252 seconds) 2015-02-07T13:08:15Z qbit_ joined #lisp 2015-02-07T13:08:15Z qbit_ quit (Client Quit) 2015-02-07T13:08:31Z Natch_a quit (Ping timeout: 255 seconds) 2015-02-07T13:10:24Z gko__ joined #lisp 2015-02-07T13:11:02Z Houl joined #lisp 2015-02-07T13:13:25Z tkhoa2711 joined #lisp 2015-02-07T13:14:18Z heurist` joined #lisp 2015-02-07T13:14:26Z hitecnologys_ is now known as hitecnologys 2015-02-07T13:14:32Z nyef: beach: In your environments paper, section 4.2, are you seriously trying to say that package locks were invented specifically to prevent a cross-compiler from breaking the host lisp? 2015-02-07T13:15:05Z beach: No. :) 2015-02-07T13:15:10Z beach: Does it sound like that? 2015-02-07T13:15:21Z nyef: Yes, it does. 2015-02-07T13:15:35Z beach: I'll fix. Thanks. 2015-02-07T13:15:39Z spacebatty quit (Ping timeout: 245 seconds) 2015-02-07T13:15:56Z nyef: I'm not even trying to come up with an off-the-wall interpretation here, that was a double-take on my first read-through. 2015-02-07T13:17:43Z nyef: Heh. ILTWYS"J" in the last paragraph of section 4.2. (-: 2015-02-07T13:19:24Z nyef: In the cross-compile scenario specifically, the compiler needs to process compile-time-too forms in two different environments. 2015-02-07T13:19:28Z beach: Heh! It is not that hard actually. 2015-02-07T13:20:11Z beach: nyef: When first-class global environments are not available you mean? 2015-02-07T13:20:19Z nyef: Section 4.3, "sanboxing"? 2015-02-07T13:20:30Z beach: Yes, it has been fixed. Thanks. 2015-02-07T13:21:09Z beach: You need to download the new version. 2015-02-07T13:21:18Z beach: http://metamodular.com/environments.pdf 2015-02-07T13:21:30Z nyef: When you have a compile-time-too form, you need to process it through the host compiler for use by the target compiler, and through the target compiler for inclusion in the output. 2015-02-07T13:21:36Z nyef: Okay, will reload and start over. 2015-02-07T13:22:11Z beach: Actually, I manage to process both by the target compiler. 2015-02-07T13:22:51Z nyef: If you're running an ARM target compiler on an x86 host, how does that work? 2015-02-07T13:23:22Z beach: I should be more clear. 2015-02-07T13:24:53Z nyef: I presume you're going to fill out the paragraph that begins "Ron Garret desicribes [sic] lexicons" and ends with an ellipsis? 2015-02-07T13:25:15Z beach: In that scenario, the compile-time-too forms are processed by the target compiler, generating code not for ARM, but for further processing by the host compiler so that compile-time side effects occur in the evaluation environment for the compiler. 2015-02-07T13:25:31Z beach: Yes, I am. I was just made aware of that paper. 2015-02-07T13:29:43Z nyef: So, going back to the package locks thing, how about something like "To prevent such breakage" instead of "For that reason"? Changing the focus of the package locks from the specific scenario of cross compilation to the damage that it can do to the host. 2015-02-07T13:29:54Z beach: Yes, that's what I did. 2015-02-07T13:30:16Z beach: To avoid that the system might be damaged this way, many... 2015-02-07T13:31:46Z nyef: Section 4.3, paragraph 1 sentence 1, should "languages" be singular rather than plural? 2015-02-07T13:32:32Z beach: Yes, indeed. Fixed! 2015-02-07T13:32:52Z nyef: Immediately following sentence, "propose" doesn't feel like the right verb. 2015-02-07T13:33:25Z Harag quit (Remote host closed the connection) 2015-02-07T13:33:34Z LaGaVuLiN__ joined #lisp 2015-02-07T13:33:36Z Harag joined #lisp 2015-02-07T13:33:48Z beach: Hmm. OK. 2015-02-07T13:33:53Z beach: provide? 2015-02-07T13:34:15Z nyef: Yes, that would be a better fit for the context. 2015-02-07T13:34:26Z beach: OK, Fixed! 2015-02-07T13:34:32Z Soft joined #lisp 2015-02-07T13:35:37Z malbertife_ quit (Ping timeout: 244 seconds) 2015-02-07T13:35:48Z nyef: "Propose" meaning, in this context, "suggest", while "provide" having a meaning closer to "give". 2015-02-07T13:35:58Z beach: Yes, you are right. 2015-02-07T13:36:00Z nyef: Or "make available". 2015-02-07T13:36:15Z beach: Yep. 2015-02-07T13:36:28Z nyef: Last paragraph of the section, same wording change? 2015-02-07T13:36:37Z LaGaVuLiN__ quit (Client Quit) 2015-02-07T13:37:15Z beach: Yes, definitely. 2015-02-07T13:37:49Z nyef: In 4.4, are you referring to Lisp packages, or "software" packages, which in CL terms would be called "modules"? 2015-02-07T13:37:59Z beach: Common Lisp packages. 2015-02-07T13:38:21Z beach: We had a long discussion about that here between me, Shinmera, and Quadrescence. 2015-02-07T13:38:31Z beach: ... a few hour ago. 2015-02-07T13:38:58Z nyef: Okay, and that was one of my concerns with the cross-compiler scenario. 2015-02-07T13:39:27Z beach: How so? 2015-02-07T13:40:05Z nyef: The possibility of a substantially different package structure between the host and target lisps. 2015-02-07T13:41:18Z enitiz joined #lisp 2015-02-07T13:41:23Z beach: That is definitely possible to do, but not necessarily needed. 2015-02-07T13:43:22Z nyef: It happens in the small whenever someone alters package-data-list.lisp-expr in SBCL. 2015-02-07T13:43:47Z beach: Can you summarize what that does in a sentence or two? 2015-02-07T13:44:21Z ASau` joined #lisp 2015-02-07T13:45:00Z nyef: It's basically a description of the packages, their external symbols, and their USE relationships for the target system. 2015-02-07T13:45:54Z beach: Oh, wow! 2015-02-07T13:46:12Z beach: I was just going to use host packages for that. 2015-02-07T13:46:41Z nyef: There's a process to create the host packages from it. 2015-02-07T13:46:57Z beach: What's wrong with ASDF? 2015-02-07T13:47:12Z nyef: How do you mean? 2015-02-07T13:47:45Z ASau quit (Ping timeout: 256 seconds) 2015-02-07T13:47:47Z beach: Use defpackage in a file called (say) packages.lisp and put that in an ASDF system. 2015-02-07T13:48:17Z nyef: For starters, this mechanism pre-dates ASDF by a good while. 2015-02-07T13:48:34Z beach: I don't see the problem of using it now. 2015-02-07T13:48:36Z nyef: And you can't actually use DEFPACKAGE to create a package graph this tangled. 2015-02-07T13:48:40Z beach: Maybe I am missing something. 2015-02-07T13:49:18Z beach: Are you saying that there are some things DEFPACKAGE can't do? 2015-02-07T13:49:27Z Harag quit (Remote host closed the connection) 2015-02-07T13:49:37Z Harag joined #lisp 2015-02-07T13:50:34Z nyef: You can't portably re-define a package with defpackage. And you can't forward-reference a package. 2015-02-07T13:51:11Z beach: I don't think I need any of those. 2015-02-07T13:51:17Z beach: Again, maybe I am missing something. 2015-02-07T13:52:45Z pt1 joined #lisp 2015-02-07T13:52:55Z ASau` is now known as ASau 2015-02-07T13:53:22Z cadadar quit (Quit: Leaving.) 2015-02-07T13:53:39Z nyef: In SBCL, SB!INT uses SB!ALIEN which uses SB!INT. 2015-02-07T13:54:01Z beach: Is that even allowed? 2015-02-07T13:54:16Z nyef: Try and prove that it isn't. d-: 2015-02-07T13:54:38Z beach: I think I'll just try to avoid having to do that. 2015-02-07T13:54:50Z beach: I don't use :USE a lot anyway. 2015-02-07T13:55:22Z nyef: I do, but my build system pitches a fit if I set up a loop in my package dependencies. 2015-02-07T13:55:45Z beach: I consider that normal. 2015-02-07T13:56:02Z Quadrescence: If a file has a length of 1 octet which contains the value of 1, and it is opened as (UNSIGNED-BYTE 32), then is it guaranteed that READ-BYTE will return 0? 2015-02-07T13:56:21Z Quadrescence: (assuming an implementation allows streams with (UNSIGNED-BYTE 32) element types.) 2015-02-07T13:57:08Z Quadrescence: if so, it definitely makes for massively annoying efficient bulk data processing of a file :( 2015-02-07T13:57:37Z nyef: Quadrescence: I wouldn't even want to guarantee that such a file could be opened under such a scenario. 2015-02-07T13:58:03Z Shinmera: Why would you want to pen a file that doesn't match the descriptor anyway? 2015-02-07T13:58:06Z Shinmera: *open 2015-02-07T13:58:57Z nyef: clhs use-package 2015-02-07T13:58:57Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_use_pk.htm 2015-02-07T13:59:08Z nyef: beach: The note at the bottom. 2015-02-07T13:59:29Z Quadrescence: Shinmera, I want to operate on a file, or 99% of it, in chunks of 32 bits, without having to concatenate octets myself. 2015-02-07T14:00:08Z Shinmera: Quadrescence: Ok, but if the file is, as you say, not in 32-bit chunks, then... 2015-02-07T14:00:19Z Quadrescence: then what? 2015-02-07T14:00:27Z Shinmera: You can't really do it either way and fail? 2015-02-07T14:00:30Z nyef: (Per CLHS 1 4.3, it is not formally part of the standard, but clearly no part of the standard forbids what it is describing as being allowed.) 2015-02-07T14:00:33Z Shinmera: *and have to fail 2015-02-07T14:01:22Z Quadrescence: Shinmera, If the file is not aligned to 32-bits, so what? That just means there's a few bytes at the end that aren't sufficient to fill a 32-bit word up completely. 2015-02-07T14:03:14Z Quadrescence: All I'm saying is that having to open a file more than once to get what I want just feels kind of clumsy. Reading a single byte at a time is elegant and nice, but it means I need to do more arithmetic. 2015-02-07T14:04:30Z nyef: clhs open 2015-02-07T14:04:30Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_open.htm 2015-02-07T14:04:50Z nyef: Quadrescence: Have a look at the last paragraph of "exceptional situations". 2015-02-07T14:05:29Z k-stz joined #lisp 2015-02-07T14:05:33Z zacharias joined #lisp 2015-02-07T14:05:45Z nyef: Remembering that most filesystems these days follow the "bag of bytes" model, thus any element type other than (unsigned-byte 8) or (signed-byte 8) basically falls into that case. 2015-02-07T14:05:48Z Shinmera: Quadrescence: Can't you just use FILE-LENGTH and then check how much you can read in 32-bit chunks? 2015-02-07T14:06:12Z Natch joined #lisp 2015-02-07T14:06:19Z Quadrescence: Shinmera, Yes, I do that. I read all the 32-bytes I can, then I close and re-open and read the final 0-3 bytes. 2015-02-07T14:06:28Z nyef: (I will take your program and run it on a machine with the opposite endianness from the file. Will it work?) 2015-02-07T14:06:30Z Quadrescence: nyef, I totally understand that some stream element types may not be supported. 2015-02-07T14:06:37Z Shinmera: Quadrescence: Ah, now I see where the problem lies. 2015-02-07T14:06:46Z Shinmera: I feel like I'm being slow today. 2015-02-07T14:07:30Z nyef: Quadrescence: It's not that the element type may not be supported, it's that the mapping between the stream elements and the bytes on the disk is essentially undefined. 2015-02-07T14:07:39Z Quadrescence: nyef, Of course, x86 is the only platform anyone needs to care about! None of that antiquated MIPS junk! 2015-02-07T14:08:07Z nyef: Quadrescence: Or big-endian ARM, or PowerPC, or...? 2015-02-07T14:08:12Z Quadrescence: :) 2015-02-07T14:08:20Z nyef: And didn't someone put together a big-endian x86 system? 2015-02-07T14:10:36Z attila_lendvai joined #lisp 2015-02-07T14:13:13Z Quadrescence: nyef, Did they? I wouldn't be surprised. (btw, if it wasn't communicated through IRC, I was being sarcastic.) 2015-02-07T14:15:39Z hiyosi quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2015-02-07T14:20:04Z pjb: JokesOnYou77_: seems you're ripe to read TAOCP.. 2015-02-07T14:20:16Z beach: nyef: Interesting, thanks for pointing that out. 2015-02-07T14:20:32Z pjb: JokesOnYou77_: The Art of Computer Programming Donald E. Knuth Addison & Wesley 2015-02-07T14:22:50Z arpunk joined #lisp 2015-02-07T14:23:40Z Puffin joined #lisp 2015-02-07T14:25:40Z urandom__ joined #lisp 2015-02-07T14:25:59Z aleamb joined #lisp 2015-02-07T14:26:14Z Puffin is now known as BitPuffin 2015-02-07T14:29:14Z beach: nyef: Even though there are circular uses, it is still possible to use ASDF to create the structure, but I guess DEFPACKAGE alone won't work. Even so, I think I will try to avoid that. 2015-02-07T14:29:43Z nyef: Right, but you pretty much have to support the use-case. 2015-02-07T14:29:59Z pjb: Quadrescence: reopening a file is probably more costly than reading it as a byte file in the first place. 2015-02-07T14:30:13Z beach: nyef: Sure, in the implementation of packages. But not in the bootstrapping process. 2015-02-07T14:30:19Z Quadrescence: pjb, really? I'd have thought otherwise. I'm going to test, of course. 2015-02-07T14:30:21Z Ethan- is now known as letoh- 2015-02-07T14:30:42Z nyef: Not necessarily in YOUR bootstrapping process. 2015-02-07T14:30:49Z pjb: Quadrescence: What kind of file is it? 2015-02-07T14:30:50Z beach: Yes, that's what I meant. 2015-02-07T14:31:05Z letoh- is now known as Ethan- 2015-02-07T14:31:07Z Quadrescence: pjb, it can be any file. Just a bag of bytes, nominally. 2015-02-07T14:31:19Z beach vanishes for a while, though he might be back later. 2015-02-07T14:31:26Z pjb: What I mean, is that there's no advantage of reading those files by 32-bit. 2015-02-07T14:31:29Z Patzy quit (Ping timeout: 245 seconds) 2015-02-07T14:31:45Z pjb: Just use read-sequence with a (unsigned-byte 8) vector and you'll be ok. 2015-02-07T14:32:18Z Patzy joined #lisp 2015-02-07T14:32:33Z Quadrescence: pjb, The advantage is that the hashing algorithm I'm using operates on 32-bit words. 2015-02-07T14:33:12Z Natch quit (Ping timeout: 245 seconds) 2015-02-07T14:36:19Z johann joined #lisp 2015-02-07T14:36:34Z pjb: Well, on a good system, the file would be cached, so a close/open/seek to the old position should not be too costly. But with a good CL compiler, taking 4 bytes from a vector to make them a 32-bit word could be well optimized, up to being free. I'd rather do the later. 2015-02-07T14:38:22Z Quadrescence: Too bad there's no free way to unsafely cast, a la C. ;) 2015-02-07T14:44:03Z Guthur quit (Remote host closed the connection) 2015-02-07T14:45:20Z kuzy000_ quit (*.net *.split) 2015-02-07T14:45:20Z ehu quit (*.net *.split) 2015-02-07T14:45:20Z d4ryus quit (*.net *.split) 2015-02-07T14:45:20Z JokesOnYou77_ quit (*.net *.split) 2015-02-07T14:45:20Z yeticry quit (*.net *.split) 2015-02-07T14:45:20Z zeroish quit (*.net *.split) 2015-02-07T14:45:20Z karswell quit (*.net *.split) 2015-02-07T14:45:20Z soggybread quit (*.net *.split) 2015-02-07T14:45:20Z luis quit (*.net *.split) 2015-02-07T14:45:20Z Takumo quit (*.net *.split) 2015-02-07T14:45:20Z j_king quit (*.net *.split) 2015-02-07T14:45:20Z mgv quit (*.net *.split) 2015-02-07T14:45:20Z zbrown quit (*.net *.split) 2015-02-07T14:45:20Z nisstyre quit (*.net *.split) 2015-02-07T14:45:20Z justinmcp_ quit (*.net *.split) 2015-02-07T14:45:20Z gensym quit (*.net *.split) 2015-02-07T14:45:20Z vlion quit (*.net *.split) 2015-02-07T14:45:20Z Fade quit (*.net *.split) 2015-02-07T14:45:20Z schjetne quit (*.net *.split) 2015-02-07T14:45:20Z capitaomorte quit (*.net *.split) 2015-02-07T14:45:20Z akkad quit (*.net *.split) 2015-02-07T14:45:20Z p_l quit (*.net *.split) 2015-02-07T14:45:20Z yeltzooo quit (*.net *.split) 2015-02-07T14:45:20Z JohnRimbaud quit (*.net *.split) 2015-02-07T14:45:20Z lea quit (*.net *.split) 2015-02-07T14:45:20Z tokenrove quit (*.net *.split) 2015-02-07T14:45:20Z peccu2 quit (*.net *.split) 2015-02-07T14:45:20Z stokachu quit (*.net *.split) 2015-02-07T14:45:36Z zbrown joined #lisp 2015-02-07T14:45:37Z Fade joined #lisp 2015-02-07T14:45:39Z soggybread joined #lisp 2015-02-07T14:45:40Z JohnRimbaud joined #lisp 2015-02-07T14:45:43Z j_king joined #lisp 2015-02-07T14:45:50Z peccu2 joined #lisp 2015-02-07T14:45:51Z d4ryus_ joined #lisp 2015-02-07T14:45:57Z gensym joined #lisp 2015-02-07T14:46:04Z yeticry joined #lisp 2015-02-07T14:46:12Z tokenrove joined #lisp 2015-02-07T14:46:13Z yeltzooo joined #lisp 2015-02-07T14:46:14Z lea joined #lisp 2015-02-07T14:46:15Z mgv joined #lisp 2015-02-07T14:46:16Z p_l joined #lisp 2015-02-07T14:46:29Z karswell joined #lisp 2015-02-07T14:46:29Z justinmcp joined #lisp 2015-02-07T14:46:31Z vlion joined #lisp 2015-02-07T14:46:33Z stokachu joined #lisp 2015-02-07T14:46:42Z kuzy000_ joined #lisp 2015-02-07T14:46:46Z salv0 joined #lisp 2015-02-07T14:47:04Z Natch joined #lisp 2015-02-07T14:47:10Z ivan\ quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2015-02-07T14:47:13Z ehu joined #lisp 2015-02-07T14:47:31Z rjmacready joined #lisp 2015-02-07T14:47:50Z nisstyre joined #lisp 2015-02-07T14:48:56Z luis joined #lisp 2015-02-07T14:49:10Z ivan\ joined #lisp 2015-02-07T14:49:15Z axion quit (Quit: WeeChat 0.4.3) 2015-02-07T14:49:39Z Takumo joined #lisp 2015-02-07T14:49:42Z capitaomorte joined #lisp 2015-02-07T14:50:12Z axion joined #lisp 2015-02-07T14:50:25Z axion quit (Client Quit) 2015-02-07T14:51:17Z axion joined #lisp 2015-02-07T14:51:20Z axion quit (Client Quit) 2015-02-07T14:51:57Z axion joined #lisp 2015-02-07T14:53:29Z schjetne joined #lisp 2015-02-07T14:54:16Z akkad joined #lisp 2015-02-07T14:56:07Z nell joined #lisp 2015-02-07T15:01:07Z JokesOnYou77_ joined #lisp 2015-02-07T15:02:22Z heurist` is now known as heurist 2015-02-07T15:04:37Z rjmacready quit (Ping timeout: 246 seconds) 2015-02-07T15:05:02Z clop quit (Read error: Connection reset by peer) 2015-02-07T15:05:30Z clop joined #lisp 2015-02-07T15:06:11Z normanrichards quit 2015-02-07T15:12:36Z cluck joined #lisp 2015-02-07T15:15:42Z hellofunk quit (Ping timeout: 245 seconds) 2015-02-07T15:15:46Z pt1 quit (Remote host closed the connection) 2015-02-07T15:17:01Z Adlai` is now known as adlai 2015-02-07T15:18:30Z jonh left #lisp 2015-02-07T15:19:32Z Harag quit (Remote host closed the connection) 2015-02-07T15:19:43Z Harag joined #lisp 2015-02-07T15:24:08Z zeitue quit (Ping timeout: 245 seconds) 2015-02-07T15:24:23Z Ethan- quit (Ping timeout: 246 seconds) 2015-02-07T15:27:50Z Patzy quit (Ping timeout: 265 seconds) 2015-02-07T15:28:18Z Patzy joined #lisp 2015-02-07T15:28:21Z badkins joined #lisp 2015-02-07T15:29:31Z johann quit (Ping timeout: 250 seconds) 2015-02-07T15:32:28Z kapil__ quit (Quit: Connection closed for inactivity) 2015-02-07T15:32:44Z badkins quit (Client Quit) 2015-02-07T15:32:53Z johann joined #lisp 2015-02-07T15:33:54Z rfhts joined #lisp 2015-02-07T15:34:49Z badkins joined #lisp 2015-02-07T15:35:35Z rfhts left #lisp 2015-02-07T15:37:13Z LiamH joined #lisp 2015-02-07T15:37:28Z zeitue joined #lisp 2015-02-07T15:39:26Z EvW joined #lisp 2015-02-07T15:41:50Z djinni` quit (Quit: Leaving) 2015-02-07T15:46:20Z pt1 joined #lisp 2015-02-07T15:47:25Z pt1 quit (Remote host closed the connection) 2015-02-07T15:52:13Z salv0 left #lisp 2015-02-07T15:54:16Z EvW quit (Ping timeout: 245 seconds) 2015-02-07T15:57:49Z attila_lendvai quit (Quit: Leaving.) 2015-02-07T15:58:06Z nugnuts joined #lisp 2015-02-07T16:00:50Z DrCode quit (Remote host closed the connection) 2015-02-07T16:02:01Z tkhoa2711 quit (Quit: tkhoa2711) 2015-02-07T16:04:04Z taspat quit (Remote host closed the connection) 2015-02-07T16:07:08Z taspat joined #lisp 2015-02-07T16:11:21Z resttime joined #lisp 2015-02-07T16:11:38Z hiroakip quit (Ping timeout: 245 seconds) 2015-02-07T16:11:39Z hiyosi joined #lisp 2015-02-07T16:13:20Z cadadar joined #lisp 2015-02-07T16:16:48Z pt1 joined #lisp 2015-02-07T16:20:16Z EvW joined #lisp 2015-02-07T16:20:24Z zadock quit (Quit: Leaving) 2015-02-07T16:20:43Z DrCode joined #lisp 2015-02-07T16:21:22Z tharugrim joined #lisp 2015-02-07T16:21:57Z enitiz quit (Ping timeout: 245 seconds) 2015-02-07T16:23:02Z ASau quit (Read error: No route to host) 2015-02-07T16:23:43Z ASau joined #lisp 2015-02-07T16:26:26Z MoALTz quit (Quit: Leaving) 2015-02-07T16:28:06Z tkhoa2711 joined #lisp 2015-02-07T16:28:31Z djinni` joined #lisp 2015-02-07T16:29:27Z yeticry quit (Quit: leaving) 2015-02-07T16:32:14Z fantazo joined #lisp 2015-02-07T16:33:52Z Big_G joined #lisp 2015-02-07T16:35:00Z cadadar quit (Quit: Leaving.) 2015-02-07T16:35:13Z fikusz_ quit (Quit: Leaving) 2015-02-07T16:38:13Z fikusz joined #lisp 2015-02-07T16:38:36Z ebrasca joined #lisp 2015-02-07T16:41:25Z theos quit (Read error: Connection reset by peer) 2015-02-07T16:41:47Z hiroakip joined #lisp 2015-02-07T16:42:04Z theos joined #lisp 2015-02-07T16:50:34Z rudolfochrist joined #lisp 2015-02-07T16:50:48Z devll quit (Quit: ERC Version 5.3 (IRC client for Emacs)) 2015-02-07T16:51:25Z EvW quit (Ping timeout: 250 seconds) 2015-02-07T16:51:31Z Quadrescence quit (Quit: This computer has gone to sleep) 2015-02-07T16:52:20Z pt1 quit (Remote host closed the connection) 2015-02-07T16:55:05Z tajjada quit (Quit: leaving) 2015-02-07T16:55:09Z wglb quit (Remote host closed the connection) 2015-02-07T16:55:52Z yeticry joined #lisp 2015-02-07T16:56:20Z BlueRavenGT joined #lisp 2015-02-07T16:59:15Z tkhoa2711 quit (Quit: tkhoa2711) 2015-02-07T17:00:29Z rudolfochrist quit (Quit: none) 2015-02-07T17:05:48Z Kruppe quit (Ping timeout: 245 seconds) 2015-02-07T17:08:06Z cadadar joined #lisp 2015-02-07T17:10:35Z Kruppe joined #lisp 2015-02-07T17:11:38Z oleo is now known as Guest90722 2015-02-07T17:13:21Z oleo__ joined #lisp 2015-02-07T17:14:15Z rudolfochrist joined #lisp 2015-02-07T17:14:38Z Guest90722 quit (Ping timeout: 246 seconds) 2015-02-07T17:14:56Z tkhoa2711 joined #lisp 2015-02-07T17:15:09Z ggole quit 2015-02-07T17:15:49Z Harag quit (Ping timeout: 250 seconds) 2015-02-07T17:25:23Z schaueho joined #lisp 2015-02-07T17:25:26Z beach left #lisp 2015-02-07T17:29:53Z zacharias quit (Ping timeout: 256 seconds) 2015-02-07T17:29:57Z innertracks joined #lisp 2015-02-07T17:35:44Z Pyridrym joined #lisp 2015-02-07T17:36:33Z emaczen joined #lisp 2015-02-07T17:37:37Z rudolfochrist quit (Ping timeout: 255 seconds) 2015-02-07T17:41:23Z jackdaniel: uh, he left, i was about to suggest binary-types 2015-02-07T17:44:07Z mutley89 joined #lisp 2015-02-07T17:44:54Z EvW joined #lisp 2015-02-07T17:45:24Z hugod quit (Excess Flood) 2015-02-07T17:46:11Z hugod joined #lisp 2015-02-07T17:46:17Z attila_lendvai joined #lisp 2015-02-07T17:46:34Z hugod is now known as Guest37482 2015-02-07T17:47:12Z gravicappa joined #lisp 2015-02-07T17:47:26Z tkhoa2711 quit (Quit: tkhoa2711) 2015-02-07T17:58:31Z Guest37482 is now known as hugoduncan 2015-02-07T18:00:05Z ebrasca quit (Ping timeout: 246 seconds) 2015-02-07T18:02:22Z schaueho quit (Ping timeout: 245 seconds) 2015-02-07T18:04:56Z pt1 joined #lisp 2015-02-07T18:05:44Z MoALTz joined #lisp 2015-02-07T18:08:37Z Natch quit (Ping timeout: 252 seconds) 2015-02-07T18:08:56Z theseb joined #lisp 2015-02-07T18:09:17Z Natch joined #lisp 2015-02-07T18:11:34Z Lokathor_ joined #lisp 2015-02-07T18:17:46Z cadadar quit (Quit: Leaving.) 2015-02-07T18:19:25Z enitiz joined #lisp 2015-02-07T18:22:58Z mishoo joined #lisp 2015-02-07T18:30:54Z innertracks quit (Quit: innertracks) 2015-02-07T18:32:04Z mishoo quit (Ping timeout: 255 seconds) 2015-02-07T18:33:07Z rudolfochrist joined #lisp 2015-02-07T18:34:47Z innertracks joined #lisp 2015-02-07T18:36:58Z Jesin joined #lisp 2015-02-07T18:38:46Z kraehe is now known as kephra 2015-02-07T18:41:22Z emaczen quit (Remote host closed the connection) 2015-02-07T18:44:05Z rudolfochrist quit (Ping timeout: 250 seconds) 2015-02-07T18:44:13Z nugnuts quit (Ping timeout: 255 seconds) 2015-02-07T18:48:34Z pessoa joined #lisp 2015-02-07T18:49:16Z hitecnologys quit (Quit: hitecnologys) 2015-02-07T18:54:37Z fantazo quit (Quit: Verlassend) 2015-02-07T18:54:52Z jgrant quit (Ping timeout: 245 seconds) 2015-02-07T18:55:17Z k-stz quit (Remote host closed the connection) 2015-02-07T18:57:14Z innertracks quit (Quit: innertracks) 2015-02-07T18:58:46Z Big_G quit (Ping timeout: 246 seconds) 2015-02-07T19:04:23Z jgrant joined #lisp 2015-02-07T19:05:03Z AntiSpamMeta quit (Read error: Connection reset by peer) 2015-02-07T19:05:16Z AntiSpamMeta joined #lisp 2015-02-07T19:05:32Z ovenpasta joined #lisp 2015-02-07T19:11:28Z pessoa quit (Quit: pessoa) 2015-02-07T19:13:47Z AntiSpamMeta quit (Quit: Moar bug hunting) 2015-02-07T19:14:00Z AntiSpamMeta joined #lisp 2015-02-07T19:15:47Z zacharias joined #lisp 2015-02-07T19:17:11Z montyxcantsin joined #lisp 2015-02-07T19:19:21Z gravicappa quit (Ping timeout: 265 seconds) 2015-02-07T19:25:38Z arboris quit (Remote host closed the connection) 2015-02-07T19:37:23Z Vutral quit (Ping timeout: 250 seconds) 2015-02-07T19:38:19Z ehu: quickdocs has improved hugely. 2015-02-07T19:38:27Z ehu: is it generated or hand-made? 2015-02-07T19:41:41Z Xach: generated. the code's on github. 2015-02-07T19:41:54Z ehu: very nice! 2015-02-07T19:42:06Z ehu: I can see this becoming my main cl reference. 2015-02-07T19:43:23Z mgv left #lisp 2015-02-07T19:44:13Z Jesin quit (Quit: Leaving) 2015-02-07T19:46:06Z pjb: No it still fails lamentably: http://quickdocs.org/search?q=cesarum 2015-02-07T19:47:38Z Jesin joined #lisp 2015-02-07T19:49:09Z Big_G joined #lisp 2015-02-07T19:49:59Z Vutral joined #lisp 2015-02-07T19:50:01Z Big_G: Does CL have a socket library? 2015-02-07T19:50:22Z pjb: several 2015-02-07T19:50:27Z pjb: usocket, iolib, etc. 2015-02-07T19:50:44Z JuanDaugherty stiffles mouf 2015-02-07T19:50:55Z gko__ quit (Quit: Connection closed for inactivity) 2015-02-07T19:51:05Z Big_G: Thanks. I'm doing a project for my networking class but it has to be in C 2015-02-07T19:51:18Z JuanDaugherty: *stifles 2015-02-07T19:51:20Z pjb: (quick-apropos "SOCKET") 2015-02-07T19:51:44Z attila_lendvai quit (Ping timeout: 265 seconds) 2015-02-07T19:52:00Z Adlai` joined #lisp 2015-02-07T19:52:01Z Xach: Big_G: usocket is useful. 2015-02-07T19:52:13Z JuanDaugherty: anybody worked with the Babylon AI Workbench? 2015-02-07T19:52:26Z pjb: Is it in CL? Url? 2015-02-07T19:52:38Z JuanDaugherty: yes it is 2015-02-07T19:52:47Z pjb: It's been a long time since I've seen an annoucement on cll… 2015-02-07T19:52:53Z pjb: Nothing happens anymore. 2015-02-07T19:53:07Z adlai quit (Ping timeout: 250 seconds) 2015-02-07T19:53:13Z Big_G: JuanDaugherty: No but what is it? 2015-02-07T19:53:14Z Adlai` is now known as adlai 2015-02-07T19:53:35Z JuanDaugherty: http://dl.acm.org/citation.cfm?id=1203191 2015-02-07T19:53:53Z JuanDaugherty: sources (2.3) are available a number of places 2015-02-07T19:54:01Z Big_G: Thanks 2015-02-07T19:54:39Z JuanDaugherty: i think was ported to current OS c. '06 but that's proprietary so talking about the c. '92 codeset 2015-02-07T19:55:02Z JuanDaugherty: which is cl but flavors 2015-02-07T19:55:40Z Big_G: Does anyone here use Cl on the job? 2015-02-07T19:56:06Z JuanDaugherty: pjb, yes I know Christaler et. al. dropped it .. Big_G yes, several do, I'm using but only for the aforementioned 2015-02-07T19:56:44Z H4ns: i do 2015-02-07T19:56:52Z Big_G: H4ns: What do you do? 2015-02-07T19:57:32Z H4ns: Big_G: i'm working as a programmer for a healthcare company. we do large parts of our file processing in cl 2015-02-07T19:58:29Z Big_G: H4ns: Is that because it is a legacy system? 2015-02-07T19:58:40Z H4ns: Big_G: no. the legacy system is written in ruby on rails 2015-02-07T19:59:03Z H4ns: Big_G: but ruby is too slow for the type of processing that we do in cl 2015-02-07T19:59:07Z Big_G: H4ns: That doesn't make sense. RoR is still pretty new. How is it legacy? 2015-02-07T19:59:43Z JuanDaugherty: it's considered contemptible here 2015-02-07T19:59:51Z JuanDaugherty: like a fruity php 2015-02-07T19:59:52Z H4ns: Big_G: thank you for saying that what i write does not make sense. i've suddenly lost interest in pursuing the conversation further. 2015-02-07T19:59:52Z Big_G: Fair enough 2015-02-07T19:59:56Z attila_lendvai joined #lisp 2015-02-07T20:00:06Z innertracks joined #lisp 2015-02-07T20:00:10Z JuanDaugherty: which is more or less the case 2015-02-07T20:00:24Z Big_G: H4ns: I meant that the rationale didn't make sense. You're making total sense 2015-02-07T20:00:44Z JuanDaugherty: the fruity php part, the other is a subjective judgment 2015-02-07T20:02:05Z hiyosi quit (Ping timeout: 244 seconds) 2015-02-07T20:02:09Z defaultxr joined #lisp 2015-02-07T20:02:17Z attila_lendvai quit (Read error: Connection reset by peer) 2015-02-07T20:02:25Z Big_G: Does anyone else use it on the job? 2015-02-07T20:02:33Z Xach: I write CL for money. 2015-02-07T20:02:44Z Big_G: What do you write? 2015-02-07T20:02:47Z attila_lendvai joined #lisp 2015-02-07T20:02:47Z attila_lendvai quit (Changing host) 2015-02-07T20:02:47Z attila_lendvai joined #lisp 2015-02-07T20:02:49Z Xach: CL. For money. 2015-02-07T20:02:53Z JuanDaugherty: kid, CL is a heavily used lang, one of the 2 major lisp dialects 2015-02-07T20:03:06Z JuanDaugherty: look it up at TIOBE or someplace 2015-02-07T20:03:23Z JuanDaugherty: the Sr. of the 2 2015-02-07T20:03:30Z Big_G: JuanDaugherty: I know it is one of the major ones. I just haven't seen a single job description that lists it 2015-02-07T20:03:47Z pyx joined #lisp 2015-02-07T20:03:49Z Shinmera: Then you haven't been looking. 2015-02-07T20:03:59Z pyx quit (Changing host) 2015-02-07T20:03:59Z pyx joined #lisp 2015-02-07T20:04:00Z pyx quit (Client Quit) 2015-02-07T20:04:13Z H4ns: yeah! there are at least 4 or 5 job posts each year that promise you can work in cl! 2015-02-07T20:04:20Z Big_G: I've mainly been looking for entry level as I'm graduating soon 2015-02-07T20:04:35Z Big_G: Probably not going to be attracting too much new talent for that 2015-02-07T20:04:41Z pjb: Yes, here: http://www.cs.cmu.edu/Groups/AI/areas/expert/systems/babylon/ 2015-02-07T20:04:59Z alecigne joined #lisp 2015-02-07T20:05:03Z CrazyWoods quit (Quit: leaving) 2015-02-07T20:05:17Z JuanDaugherty: there are definitely lisp jobs in the seatac area but prolly not for people with little or no exp 2015-02-07T20:05:40Z Big_G: I'm from the Seattle area which is good but I've only used dialects like Scheme for school projects 2015-02-07T20:06:40Z JuanDaugherty: the mass markets gravitate to the lowest common denominator 2015-02-07T20:06:45Z JuanDaugherty: wordpress is huge 2015-02-07T20:06:52Z zadock joined #lisp 2015-02-07T20:07:04Z Big_G: Xach: Maybe I'm dense but could you explain more about what you do other than for the money? 2015-02-07T20:07:17Z JuanDaugherty: lisp jobs will be advertised in lisp channels 2015-02-07T20:07:25Z Big_G: JuanDaugherty: Yeah, I know what you mean. I've been to too many interviews that only want Java 2015-02-07T20:07:26Z JuanDaugherty: and by word of mouf 2015-02-07T20:07:56Z Big_G: Good to know. I'll hopefully start going to more meetups 2015-02-07T20:08:27Z swflint is now known as swflint_away 2015-02-07T20:09:16Z Xach: Big_G: database stuff, data processing stuff, graphics stuff, web stuff 2015-02-07T20:09:40Z Big_G: Xach: Thanks. I really like the former two 2015-02-07T20:09:46Z devll joined #lisp 2015-02-07T20:10:13Z Xach sold his lisp-powered graphics toy website last year though 2015-02-07T20:10:50Z Big_G: Did he get a pretty penny for it? 2015-02-07T20:11:07Z Xach: Pretty enough 2015-02-07T20:11:14Z JuanDaugherty: more to the point, the buyer didn't gag because it was cl 2015-02-07T20:12:13Z Big_G: Xach: Congrats. I bet that has to feel good 2015-02-07T20:12:31Z k-stz joined #lisp 2015-02-07T20:12:41Z Big_G: JuanDaugherty: I bet that is rare. I've read far to many of Grahm's pieces on how that can go 2015-02-07T20:12:48Z zeroish joined #lisp 2015-02-07T20:13:12Z alecigne: hi everyone, does anyone know how to send a Common Lisp sexp to a SBCL process through Swank from Emacs Lisp? At the moment I use slime-repl-send-string but the return value clobbers my REPL 2015-02-07T20:13:35Z antgreen joined #lisp 2015-02-07T20:14:01Z Shinmera: alecigne: slime-eval 2015-02-07T20:14:33Z Shinmera: There might be better functions, but that's the one I know at least. 2015-02-07T20:15:23Z _leb joined #lisp 2015-02-07T20:16:48Z alecigne: ah perfect 2015-02-07T20:16:50Z alecigne: thank you 2015-02-07T20:17:07Z Shinmera: Be wary of return values that can't be translated to elisp values. 2015-02-07T20:20:27Z hellofunk joined #lisp 2015-02-07T20:22:41Z alecigne: is it a good idea to put it inside a progn form and end it with NIL? 2015-02-07T20:23:17Z Shinmera: If you don't need to use the return value and know it can't be translated. But that seems kind of weird to me to have to do that, hence why I'm not sure if there's better functions than slime-eval. 2015-02-07T20:23:26Z theseb quit (Quit: Leaving) 2015-02-07T20:23:51Z Patzy quit (Ping timeout: 256 seconds) 2015-02-07T20:24:10Z alecigne: I will rtfm, thanks 2015-02-07T20:24:14Z Patzy joined #lisp 2015-02-07T20:27:14Z antonv joined #lisp 2015-02-07T20:27:43Z rtoym quit (Ping timeout: 255 seconds) 2015-02-07T20:30:25Z pt1 quit (Remote host closed the connection) 2015-02-07T20:31:34Z SpikeMaster joined #lisp 2015-02-07T20:31:54Z salva quit (Ping timeout: 245 seconds) 2015-02-07T20:32:00Z SpikeMaster: what is the best lisp book? (medium or advanced) 2015-02-07T20:32:28Z pt1 joined #lisp 2015-02-07T20:33:07Z salva joined #lisp 2015-02-07T20:33:32Z H4ns: SpikeMaster: i think amop is pretty cool 2015-02-07T20:33:39Z H4ns: minion: amop 2015-02-07T20:33:40Z minion: amop: The Art of the Metaobject Protocol, an essential book for understanding the implementation of CLOS and advanced OO. See the sepcification of MOP at http://www.alu.org/mop/ 2015-02-07T20:33:43Z Xach: SpikeMaster: there isn't one best lisp book. paradigms of ai programming and practical common lisp are good books. 2015-02-07T20:33:49Z Xach: amop is a good book. 2015-02-07T20:34:37Z zacts quit (Ping timeout: 264 seconds) 2015-02-07T20:35:00Z SpikeMaster: thanks. I'll check out amop 2015-02-07T20:36:33Z SpikeMaster: is "let over lambda" considered good? 2015-02-07T20:36:38Z H4ns: no. 2015-02-07T20:37:07Z Shinmera: Are you looking for good books on CL, or good books to get started with with CL? 2015-02-07T20:37:11Z pt1 quit (Ping timeout: 245 seconds) 2015-02-07T20:37:52Z SpikeMaster: good books on CL. i'm somewhat familiar with elisp. Have a very newbie understanding of macros. 2015-02-07T20:37:57Z ehu: pjb: ah. ok. so, it builds, but only so much. 2015-02-07T20:38:22Z mrSpec joined #lisp 2015-02-07T20:38:28Z hiroakip quit (Remote host closed the connection) 2015-02-07T20:38:29Z Shinmera: You'll probably want PCL then. 2015-02-07T20:38:31Z alecigne: SpikeMaster: Practical Common Lisp is what you need I think 2015-02-07T20:38:31Z Xach: It will help to forget anything you know about elisp. 2015-02-07T20:38:31Z SpikeMaster: and i've mastered the tools of lisp (emacs, paredit, SLIME) before i mastered the language! 2015-02-07T20:38:42Z Shinmera: minion: tell SpikeMaster about PCL 2015-02-07T20:38:42Z minion: SpikeMaster: please look at PCL: pcl-book: "Practical Common Lisp", an introduction to Common Lisp by Peter Seibel, available at http://www.gigamonkeys.com/book/ and in dead-tree form from Apress (as of 11 April 2005). 2015-02-07T20:39:00Z hiroakip joined #lisp 2015-02-07T20:39:32Z hiroakip quit (Remote host closed the connection) 2015-02-07T20:39:38Z SpikeMaster: k. i'll focus on PCL. 2015-02-07T20:39:40Z rtoym joined #lisp 2015-02-07T20:40:30Z SpikeMaster: I wanna make lisp my main language. I haven't mastered the language yet, but I like the eval-as-you-write workflow. 2015-02-07T20:41:06Z hiroakip joined #lisp 2015-02-07T20:42:11Z SpikeMaster: in your opinion, what is better? sbcl or clozureCL. 2015-02-07T20:42:26Z Shinmera: Both will do just fine for starting out. 2015-02-07T20:42:56Z SpikeMaster: what about for serious stuff? 2015-02-07T20:43:02Z Xach: they are both excellent for serious stuff 2015-02-07T20:43:14Z Shinmera: Depends on what your serious stuff is. 2015-02-07T20:45:03Z alecigne: do you think StumpWM can be a nice 'immersive' way to learn CL for a beginner? just like Emacs is for Elisp, in a way 2015-02-07T20:45:23Z montyxcantsin quit (Ping timeout: 265 seconds) 2015-02-07T20:45:57Z Xach: alecigne: i don't know anyone who has learned that way, but it seems plausible. 2015-02-07T20:46:09Z jlongster joined #lisp 2015-02-07T20:50:05Z SpikeMaster: what do you think of the book "Land of Lisp"? 2015-02-07T20:52:47Z EvW quit (Ping timeout: 250 seconds) 2015-02-07T20:55:21Z Karl_Dscc quit (Remote host closed the connection) 2015-02-07T20:58:25Z oleo__ quit (Quit: Verlassend) 2015-02-07T20:58:32Z pt1 joined #lisp 2015-02-07T20:59:20Z JuanDaugherty didn know there was a Learn You a Lisp 2015-02-07T21:01:46Z rtra quit (Ping timeout: 245 seconds) 2015-02-07T21:02:36Z taspat` joined #lisp 2015-02-07T21:03:06Z oleo joined #lisp 2015-02-07T21:03:16Z decent: SpikeMaster: I like it.. but half way. :) 2015-02-07T21:03:31Z decent: also got it in german if you need! or something.. managed to order the wrong first :D 2015-02-07T21:06:25Z taspat quit (Ping timeout: 264 seconds) 2015-02-07T21:06:33Z kcj joined #lisp 2015-02-07T21:08:01Z Beetny joined #lisp 2015-02-07T21:08:48Z SpikeMaster: oh. just found "learn lisp the hard way" website. Anyone read this? 2015-02-07T21:09:46Z Shinmera: It's being written right now, so 2015-02-07T21:09:59Z rtra joined #lisp 2015-02-07T21:15:17Z pnpuff joined #lisp 2015-02-07T21:16:30Z devll quit (Remote host closed the connection) 2015-02-07T21:17:00Z DrCode quit (Remote host closed the connection) 2015-02-07T21:18:19Z sivoais quit (Remote host closed the connection) 2015-02-07T21:18:38Z sivoais joined #lisp 2015-02-07T21:20:05Z SpikeMaster left #lisp 2015-02-07T21:20:35Z eudoxia joined #lisp 2015-02-07T21:21:47Z pt1 quit (Remote host closed the connection) 2015-02-07T21:23:15Z EvW joined #lisp 2015-02-07T21:24:35Z pnpuff quit (Quit: Lost terminal) 2015-02-07T21:25:17Z DrCode joined #lisp 2015-02-07T21:29:28Z montyxcantsin joined #lisp 2015-02-07T21:32:11Z dagnachew joined #lisp 2015-02-07T21:39:35Z pnpuff joined #lisp 2015-02-07T21:43:45Z hiroakip quit (Ping timeout: 256 seconds) 2015-02-07T21:45:09Z pnpuff left #lisp 2015-02-07T21:45:43Z eazar001 quit (Read error: Connection reset by peer) 2015-02-07T21:51:26Z zadock quit (Quit: Leaving) 2015-02-07T21:53:04Z Quadrescence joined #lisp 2015-02-07T21:56:42Z Shinmera quit (Quit: しつれいしなければならないんです。) 2015-02-07T22:00:46Z eazar001 joined #lisp 2015-02-07T22:00:49Z munksgaard joined #lisp 2015-02-07T22:05:25Z joga quit (Changing host) 2015-02-07T22:05:25Z joga joined #lisp 2015-02-07T22:05:33Z emaczen joined #lisp 2015-02-07T22:05:48Z enitiz quit (Ping timeout: 245 seconds) 2015-02-07T22:06:01Z jlongster quit (Ping timeout: 250 seconds) 2015-02-07T22:06:04Z mrSpec quit (Quit: mrSpec) 2015-02-07T22:06:35Z emaczen: is the implementation of #'length standardized? 2015-02-07T22:06:58Z emaczen: I am hoping for a constant time implementation on some sequential datastructure (maybe array will do) 2015-02-07T22:08:19Z pjb: The standard doesn't specify algorithms, or even algorithmic complexities, in general. 2015-02-07T22:08:29Z pjb: There are some exceptions, but LENGTH is not one of them. 2015-02-07T22:08:58Z emaczen: pjb: how can I find this out for SBCL or ABCL? 2015-02-07T22:09:12Z pjb: However, if your implementation doesn't have a CL:LENGTH that's O(n) for lists and O(1) for vector, then you are justified to go to the home of their implementers and burn their toes. 2015-02-07T22:09:17Z munksgaard quit (Ping timeout: 246 seconds) 2015-02-07T22:09:33Z emaczen: pjb: Cool! I guess I can count on it 2015-02-07T22:09:39Z pjb: You can type (length M-. in slime, and it'll jump to the source of LENGTH so you may check before buying the plane ticket and matches. 2015-02-07T22:11:09Z emaczen: pjb: when I do M-. it prompts me with: 'Edit Definition of:' 2015-02-07T22:12:41Z emaczen: The hyperspec says that if the sequence is a vector than it will return the value of "fill pointer" which holds the length of the array 2015-02-07T22:13:20Z emaczen: pjb: I'm still curious as to why M-. did not work for me. 2015-02-07T22:13:56Z emaczen: pjb: I load slime slime-fancy and slime-asdf by default 2015-02-07T22:14:24Z pjb: Perhaps you didn't type (length before (in a lisp buffer)? 2015-02-07T22:14:31Z pjb: Perhaps you didn't type "(length" before (in a lisp buffer)? 2015-02-07T22:14:40Z emaczen: I'm in the REPL 2015-02-07T22:14:46Z pjb: That should do too. 2015-02-07T22:15:34Z vdamewood joined #lisp 2015-02-07T22:16:19Z emaczen: pjb: do you know the name of the command that M-. invokes? 2015-02-07T22:16:33Z pjb: (slime-edit-definition &optional NAME WHERE) 2015-02-07T22:17:07Z pjb: So you could also type M-: (slime-edit-definition "LENGTH") RET 2015-02-07T22:17:14Z pjb left #lisp 2015-02-07T22:17:23Z pjb joined #lisp 2015-02-07T22:17:38Z pjb: oops. 2015-02-07T22:18:04Z emaczen: pjb: It now just tells me: "wrong type argument: characterp, nil" 2015-02-07T22:18:11Z montyxcantsin quit (Ping timeout: 265 seconds) 2015-02-07T22:18:37Z emaczen: Should this work for all implementations? 2015-02-07T22:18:44Z pjb: Almost all. 2015-02-07T22:18:49Z pjb: Perhaps not in abcl. 2015-02-07T22:19:03Z emaczen: pjb: I'll switch over to sbcl because I am curious 2015-02-07T22:19:10Z pjb: I'm using ccl. 2015-02-07T22:19:28Z emaczen: what does ccl stand for? Is that clozure common lisp? 2015-02-07T22:19:32Z pjb: What's important of course is to have the sources of the implementation installed, and to have it configured so they can be found. 2015-02-07T22:19:33Z pjb: Yes. 2015-02-07T22:19:52Z Bike: sbcl's length calls some assembly routines, so it won't be too enlightening 2015-02-07T22:19:53Z pjb: Notice that the CL standard doesn't impose bound checking either (notably with (optimize (safety 0))). It's just that lispers both vendors and users, don't usually like to shoot themselves in the foot, contrarily to C programmers. 2015-02-07T22:20:20Z _Loic_ joined #lisp 2015-02-07T22:20:41Z pjb: So in general, you can trust implementations. 2015-02-07T22:20:41Z emaczen: Bike: It's still interesting for me to use this slime feature so that when I get packages in quicklisp I can see how they are implemented 2015-02-07T22:20:50Z pjb: of course. 2015-02-07T22:20:53Z Bike: yeah, M-. is awesome. 2015-02-07T22:22:38Z angavrilov quit (Remote host closed the connection) 2015-02-07T22:22:52Z tokenrove: are there any guides to writing better docstrings or generally, better documentation specifically for CL? i've read the google style guide already. 2015-02-07T22:23:26Z pjb: No known guide. Perhaps in google's CL style guide? (yes, they have one!) 2015-02-07T22:23:43Z tokenrove: indeed, as i noted. 2015-02-07T22:23:56Z pjb: My general idea would be to write some specs in there, saying WHAT the function does. 2015-02-07T22:24:09Z pjb: So reading it you can check whether the implementation is buggy or not. 2015-02-07T22:24:11Z fortitude joined #lisp 2015-02-07T22:24:13Z tokenrove: i remember various offhand advice in books and such, but i was hoping something more specific and concrete had shown up. 2015-02-07T22:24:33Z emaczen: so a bunch of source files came up -- how do I know which one to look at? 2015-02-07T22:24:41Z pjb: Probably, you could just read some documentation of classic CL libraries, and be inspired. 2015-02-07T22:24:53Z pjb: emaczen: Try them all in turn? 2015-02-07T22:26:01Z emaczen: pjb: what is classic CL? 2015-02-07T22:26:03Z Bike: the defining forms should be summarized, too 2015-02-07T22:26:06Z pjb: Usually, you get several definitions when it's a generic function. 2015-02-07T22:26:06Z Alfr quit (Quit: Leaving) 2015-02-07T22:26:13Z pjb: classic (CL libraries) 2015-02-07T22:26:19Z emaczen: Bike: summarized? 2015-02-07T22:26:29Z Bike: like (defun length) versus (:deftransform length) 2015-02-07T22:26:55Z tokenrove: pjb: that's what i've been doing, but i'm open to suggestions as to libraries you feel are very well-documented. i like alexandria's documentation. 2015-02-07T22:27:05Z pjb: That said, documenting is all an art, as much as programming. 2015-02-07T22:27:10Z dagnachew quit (Quit: WeeChat 1.1.1) 2015-02-07T22:27:23Z emaczen: Bike: What is :deftransform? I saw that. 2015-02-07T22:27:45Z Bike: an sbcl specific thing, a transformation between its intermediate representation objects, usually for optimization 2015-02-07T22:27:58Z Bike: and vops are assembly routines, and source-transforms are basically compiler macros 2015-02-07T22:28:17Z Vivitron`: tokenrove: I think lparallel is a nice example of documentation, both docstrings and its "website as manual" 2015-02-07T22:29:16Z _Loic_ quit (Read error: Connection reset by peer) 2015-02-07T22:29:54Z tokenrove: Vivitron`: thanks for the suggestion! 2015-02-07T22:30:17Z montyxcantsin joined #lisp 2015-02-07T22:31:18Z pacon joined #lisp 2015-02-07T22:31:31Z hvxgr quit (Ping timeout: 252 seconds) 2015-02-07T22:32:08Z pjb: http://www.informatimago.com/develop/lisp/doc/ http://quickdocs.org/ 2015-02-07T22:32:57Z kuzy000_ quit (Ping timeout: 244 seconds) 2015-02-07T22:33:15Z Ralt: > Quickdocs.org is under maintainance. Sorry. 2015-02-07T22:33:16Z Ralt: doh 2015-02-07T22:33:48Z tokenrove: pjb: quickdocs is a bit of a mixed bag, of course. i'd rather have a more opinionated, shorter list of good examples; but i'll certainly check out your documentation style. 2015-02-07T22:35:25Z emaczen: how can I find the :initargs that (make-instance 'vector ...) takes? 2015-02-07T22:35:52Z pjb: vector M-. and select the defclass 2015-02-07T22:35:56Z Vivitron`: tokenrove: my personal preference is that exported things get a docstring, and that the first line of the docstring is a stand-alone description of the thing, but I don't think anyone else follows that latter convention 2015-02-07T22:36:32Z pjb: all emacs lisp programmers do. 2015-02-07T22:37:39Z Grue`: Vivitron`: Python programmers probably do too 2015-02-07T22:37:51Z nyef: Bike: VOPs are assembly routines? WHAT? 2015-02-07T22:39:00Z nyef: Bike: I'll agree with you on source transforms, but VOPs are typically instructions for how to open-code something. Assembly-routines are something else entirely. 2015-02-07T22:39:28Z Vivitron`: ah, nice. I do it because printing the exported things along with a one line description can provide a nice overview or reminder of a package. (IIRC it's PAIP's "glossary" sections that inspired me to do that) 2015-02-07T22:40:28Z zeitue quit (Ping timeout: 252 seconds) 2015-02-07T22:40:55Z Bike: emaczen: nyef's an actual sbcl dev, listen to him instead of me on this matter 2015-02-07T22:42:01Z Bike: nyef: well, it's in assembly, that's about my level of understanding. i suppose the distinction is that a routine is an actual function to be jumped to rather than assembly to be inserted inline 2015-02-07T22:42:24Z fortitude: I'm having some trouble understanding this: will a weak reference to a fixnum ever be removed? 2015-02-07T22:42:25Z nyef: More or less, yes. 2015-02-07T22:43:00Z Houl quit (Quit: weil das Wetter so schön ist) 2015-02-07T22:43:36Z nyef: There's also typically a VOP created to call each assembly routine. Not EVERY assembly routine gets this, but most do, and there are a few options for HOW the routine gets called. 2015-02-07T22:43:43Z pjb: fortitude: I would rather doubt it'll ever be kept in the first place! 2015-02-07T22:44:13Z fortitude: pjb: I've tested a bit with sbcl and the weak-hash-tables from trivial-garbage, and I can't get the entry to drop 2015-02-07T22:44:41Z fortitude: aside from the *, **, and *** variables in the repl, would there be another reason a fixnum would still be considered live there? 2015-02-07T22:44:43Z nyef: fortitude: A FIXNUM isn't a pointer, thus isn't a reference, thus the question doesn't particularly make sense. 2015-02-07T22:44:48Z pjb: Since by definition, the existence of fixnum only purpose is to allow copying them all the time, and not having them boxed, then there will never be any reference to a fixnum, therefore a weak pointer to a fixnum will always be collected right away. 2015-02-07T22:44:53Z fortitude: nyef: that's what was confusing me 2015-02-07T22:45:06Z emaczen: pbj: I still couldn't figure out how to specify an initial-element and a size for my vector 2015-02-07T22:45:11Z pt1 joined #lisp 2015-02-07T22:45:14Z pjb: (let ((* 1) (** 1)) (eq * **)) is allowed to return NIL! 2015-02-07T22:45:30Z nyef: ... peanut-jelly and butter? 2015-02-07T22:46:01Z Bike: ewwwww 2015-02-07T22:46:08Z Bike: why are you making a vector with make-class, pray? 2015-02-07T22:46:21Z fortitude: so let me ask a more direct question: I've got a cache mapping objects to ids (a weak hash table), and I need to map fixnums to ids but I'd rather not have the cache balloon up with every number that's ever been stored in it 2015-02-07T22:46:28Z fortitude: any ideas on how to remove those entries? 2015-02-07T22:46:35Z pjb: Who said it was cl:vector? 2015-02-07T22:47:07Z emaczen: what is the standard way to make a a vector? 2015-02-07T22:47:26Z pjb: fortitude: some implementations have better weak hashtables and other weak stuff than others… 2015-02-07T22:47:27Z emaczen: I see make-array can take dimension arguments 2015-02-07T22:47:32Z hugodunc` joined #lisp 2015-02-07T22:47:40Z pjb: Including a single size. 2015-02-07T22:47:46Z Bike: emaczen: make-array 2015-02-07T22:47:47Z pjb: (make-array 42) --> a vector 2015-02-07T22:47:56Z jlongster joined #lisp 2015-02-07T22:47:58Z pjb: Also: (vector 1 2 3) --> #(1 2 3) 2015-02-07T22:48:03Z Xach: VECTOR is another standard way. 2015-02-07T22:48:09Z Xach: (vector 8 6 7 5 3 0 9) 2015-02-07T22:48:19Z emaczen: okay -- I was trying make-instance ... 2015-02-07T22:48:23Z pjb: make-string, make-sequence 'vector too. 2015-02-07T22:48:53Z nyef: Note that (vector 1 2 3) and #(1 2 3) have a very important difference at times: The latter is a literal constant and must not be modified. 2015-02-07T22:49:38Z edran_ joined #lisp 2015-02-07T22:49:51Z emaczen: nyef: Thanks 2015-02-07T22:49:55Z hvxgr joined #lisp 2015-02-07T22:50:00Z splittist_ joined #lisp 2015-02-07T22:50:04Z gluegadget_ joined #lisp 2015-02-07T22:50:16Z endou_______ joined #lisp 2015-02-07T22:50:32Z rtra quit (Ping timeout: 245 seconds) 2015-02-07T22:50:32Z djinni` quit (Ping timeout: 245 seconds) 2015-02-07T22:50:32Z gluegadget quit (Ping timeout: 245 seconds) 2015-02-07T22:50:32Z stux|RC-only quit (Ping timeout: 245 seconds) 2015-02-07T22:50:33Z Neet quit (Ping timeout: 245 seconds) 2015-02-07T22:50:33Z Patzy quit (Ping timeout: 245 seconds) 2015-02-07T22:50:33Z peccu2 quit (Ping timeout: 245 seconds) 2015-02-07T22:50:33Z bb010g quit (Ping timeout: 245 seconds) 2015-02-07T22:50:33Z endou______ quit (Ping timeout: 245 seconds) 2015-02-07T22:50:33Z Vutral quit (Ping timeout: 245 seconds) 2015-02-07T22:50:33Z hugoduncan quit (Ping timeout: 245 seconds) 2015-02-07T22:50:33Z p_l quit (Ping timeout: 245 seconds) 2015-02-07T22:50:33Z d4ryus_ quit (Ping timeout: 245 seconds) 2015-02-07T22:50:33Z splittist quit (Ping timeout: 245 seconds) 2015-02-07T22:50:33Z theos quit (Ping timeout: 245 seconds) 2015-02-07T22:50:33Z edran quit (Ping timeout: 245 seconds) 2015-02-07T22:50:33Z dilated_dinosaur quit (Ping timeout: 245 seconds) 2015-02-07T22:50:52Z gluegadget_ is now known as gluegadget 2015-02-07T22:50:54Z Neet joined #lisp 2015-02-07T22:50:57Z splittist_ is now known as splittist 2015-02-07T22:51:02Z peccu2 joined #lisp 2015-02-07T22:51:09Z Patzy joined #lisp 2015-02-07T22:51:10Z rtra joined #lisp 2015-02-07T22:51:13Z d4ryus_ joined #lisp 2015-02-07T22:51:20Z p_l joined #lisp 2015-02-07T22:51:32Z djinni` joined #lisp 2015-02-07T22:51:34Z stux|RC-only joined #lisp 2015-02-07T22:51:36Z theos joined #lisp 2015-02-07T22:51:55Z zacts joined #lisp 2015-02-07T22:52:22Z Neet is now known as Neet_ 2015-02-07T22:52:50Z zeitue joined #lisp 2015-02-07T22:53:05Z jlongster quit (Ping timeout: 246 seconds) 2015-02-07T22:54:41Z ovenpasta quit (Ping timeout: 250 seconds) 2015-02-07T22:54:56Z bb010g joined #lisp 2015-02-07T22:56:14Z Ralt: nyef: ping 2015-02-07T22:56:21Z nyef: Pong. 2015-02-07T22:56:27Z Ralt: do you remember this? https://gist.github.com/burtonsamograd/f08f561264ff94391300 2015-02-07T22:56:43Z Ralt: I'm trying to use this, but it seems it's using undefined functions 2015-02-07T22:56:50Z Ralt: namely, sb-impl::make-package-hashtable 2015-02-07T22:56:57Z Ralt: is it because my sbcl version is too old, maybe? 2015-02-07T22:57:05Z Ralt: I'm using 1.2.3 2015-02-07T22:57:14Z nyef: I have no idea. Maybe? 2015-02-07T22:57:40Z Ralt: heh 2015-02-07T22:57:43Z pjb: Probably. 2015-02-07T22:57:57Z nyef: This is one of those cases where the SBCL guarantee is "if it breaks, you get to keep the pieces". 2015-02-07T22:58:09Z hugodunc` is now known as hugod 2015-02-07T22:58:43Z Ralt: yeah, it's fair 2015-02-07T22:59:24Z ebrasca joined #lisp 2015-02-07T23:01:36Z Ralt: that was it. 2015-02-07T23:02:05Z nyef: Yeah, looks like it was around August last year, maybe? 2015-02-07T23:03:02Z dilated_dinosaur joined #lisp 2015-02-07T23:04:08Z ehu quit (Quit: Leaving.) 2015-02-07T23:10:09Z Vutral joined #lisp 2015-02-07T23:12:31Z Big_G quit (Ping timeout: 246 seconds) 2015-02-07T23:13:28Z kcj quit (Ping timeout: 252 seconds) 2015-02-07T23:13:59Z kcj joined #lisp 2015-02-07T23:29:26Z tokenrove: any thoughts on canonical asdf metadata? the manual doesn't seem to cover it at all, and i'd like to fix that, but i don't know what should be considered canonical -- for example, :description, :long-description, and :short-desc are all used in different ways by different systems. 2015-02-07T23:30:10Z nyef: :preferred-saint ? 2015-02-07T23:30:16Z Xach: :description and :long-description are not synonyms. 2015-02-07T23:30:31Z tokenrove: aside from xach's blog post mentioning that systems must have :author, :license, and :description, there doesn't seem to be much information on what should be included. 2015-02-07T23:31:50Z tokenrove: (for inclusion in quicklisp, i mean) 2015-02-07T23:33:16Z tokenrove: xach: do you have any thoughts on the formatting and contents of :description and :long-description? should :short-desc be avoided? 2015-02-07T23:33:47Z Xach: I think :description should be a single line of plain text. 2015-02-07T23:34:09Z Xach: i would rather see a readme of some form than a long description in the defsystem. 2015-02-07T23:35:25Z dagnachew joined #lisp 2015-02-07T23:36:14Z Ralt: I've seen something interesting: long-description was generated from the readme 2015-02-07T23:36:46Z Alfr joined #lisp 2015-02-07T23:36:46Z Ralt: don't remember where though... 2015-02-07T23:36:54Z Xach: i've seen that rather a lot and don't like it much. 2015-02-07T23:37:03Z Xach: people using #.(with-open-file ...) stuff. 2015-02-07T23:38:00Z PuercoPop: emaczen: you maybe have to point to the location of your implementation's sources for M-. to work on length and such. On SBCL you can do so by adding (sb-ext:set-sbcl-source-location "path/to/sbcl/source") to your .sbclrc 2015-02-07T23:38:30Z hiroakip joined #lisp 2015-02-07T23:40:40Z ejbs joined #lisp 2015-02-07T23:41:10Z Alfr quit (Remote host closed the connection) 2015-02-07T23:46:19Z bgs100 joined #lisp 2015-02-07T23:48:28Z attila_lendvai quit (Quit: Leaving.) 2015-02-07T23:49:32Z badkins quit (Read error: Connection reset by peer) 2015-02-07T23:50:33Z badkins joined #lisp 2015-02-07T23:52:28Z hellofunk quit (Ping timeout: 255 seconds) 2015-02-07T23:59:44Z eudoxia quit (Quit: Leaving)