2017-04-29T02:04:47Z ccl-logbot joined #lisp 2017-04-29T02:04:47Z 2017-04-29T02:04:47Z names: ccl-logbot d4ryus sellout- haz l04m33 discardedes raynold cromachina pilne mgood7123 p9s azzamsa burton` msmith fsmunoz safe MrWoohoo nowhereman vibs29 ironChicken scymtym froggey troydm milanj __main__ rk[ghost] TDT defaultxr eschatologist oleo srcerer presiden edgar-rft sz0 whiteline zeldangit_ drcode Walex al-damiri Draz gko Bike Jesin jasom chens yrk Tristam cmatei gigetoo PlasmaStar rpg pr practica` dmiles mathrick emerson frodef daemoz libreman 2017-04-29T02:04:47Z names: razzy yeticry Lord_Nightmare lerax brendyn m0cesta impulse schoppenhauer NeverDie chinchilla vhost- Younder phoe larme eMBee alms_clozure danlentz e qlkzy lieven jcloud Hoolootwo gendl l1x msb redcedar nopf koisoke chu brandonz ecraven azrazalea tiago kjak__ kbtr paroneayea adulteratedjedi beach nicdev` MrBismuth dbjergaard megalography Xof shpx krrrcks grumble ck_ TruePika forgot cpt_nemo ineiros_ cods samebcha1e ozzloy_ ramus theBlackDragon cibs 2017-04-29T02:04:47Z names: hjudt_ setheus myrkraverk dilated_dinosaur sohail kolko_ Intensity pillton ryanbw terpri heurist akkad_ Cthulhux Patzy yrdz fe[nl]ix Blkt zaquest mindCrime_ yoosi funnel dwrngr whartung DGASAU Guest24524 zooey_ SlashLife lxpz easye krator44 askatasuna ikopico HDurer2 Suzuran jsnell nikivi moei seg White_Flame otwieracz jackdaniel arrdem drdo watersoul_ minion loke`` Tordek kjeldahl Orion3k Oladon zzkt[m] harlequin78[m] Jach[m] thorondor[m] astronavt[m] 2017-04-29T02:04:47Z names: pipping RichardPaulBck[m M-Illandan jfb4 Khisanth hvxgr roscoe_tw mazoe DeadTrickster ``Erik anaumov Ober oystewh_ jmasseo_ Zotan_ getha ogkloo MoALTz Lord_of_Life jdz felideon itruslove fouric ryan_vw Oddity borodust zacts lemoinem Sigyn groovy2shoes thinkpad Guest99302 foom nyef segmond emacsomancer AntiSpamMeta nydel beaky tanuzzo Mandus tristero |3b| Posterdati thebored nacci paratox nullman stee_3_ dlowe mikaelj ski davsebamse dim j_king GGMethos 2017-04-29T02:04:47Z names: erethon antoszka Karunamon clog leo_song cpape kushal cyberlard add^_ mingus snits argoneus lonjil CEnnis91 shenghi AeroNotix dan64 fluxit justinmcp fiddlerwoaroof brucem velvetcore_ midre pareidolia bungoman_ himmAllRight loke j0ni ericmathison vsync c0dehero Nikotiini fluter norfumpit ym vlnx trn coyo p_l axion mulk ggherdov switchy alphor misv djh lancetw billstclair sigjuice_ luis` raydeejay killmaster larsen benny mbrock gadwin_ tessier_ GuilOooo_ 2017-04-29T02:04:47Z names: phadthai d4gg4d_ rann stux|RC mklk_ _death Firedancer pankracy tilpner f32ff a7f4 xantoz malcom2073 jself zbigniew malm les HDurer Reinisch ksool vaporatorius jibanes zymurgy pent drot gensym Grue` Meow-J failproofshark cartwright MorTal1ty swflint xristos angular_mike_ Aritheanie Petit_Dejeuner dedmons SAL9000 z0d Vivek arjenve drmeister peccu1 PuercoPop shaftoe trig-ger tobel N3vYn Riviera arrsim rotty sgript Xach mnoonan mtd adlai dschoepe Colleen 2017-04-29T02:04:47Z names: specbot vert2 giraffe TMA lpaste aaronjensen sukaeto Fade unrahul kilimanjaro rvirding sveit anachrome tokenrove djinni` tmc rjeli mrSpec aeth ircbrowse eagleflo wizzo mood cyraxjoe joast kjak_____ joeygibson baroncharlus zkat dxtr pchrist __SiCC__ amoe_ renard_ H4ns abbe chavezgu taij33n splittist gz_ XachX pacon_ ec\_ joga Subfusc derrida flip214 copec neuri8 tomaw voidlily jean377 knobo cebreidian tfb jerme_ banjiewen asedeno mjl nimiux kjak____ 2017-04-29T02:04:47Z names: gabot josh5tone jurov guaqua nhandler kini Odin- pok kjak_ gbyers filwisher omilu Zhivago tkd ft isoraqathedh o`connor_ sbryant tephra_ 2017-04-29T02:04:54Z |3b|: actually, probably just passing window as a parameter would be more likely :) 2017-04-29T02:05:05Z krator44: |3b|: you'd implement them as plists? 2017-04-29T02:05:26Z |3b|: probably plists for prototyping, objects for 'real' code 2017-04-29T02:06:10Z |3b|: possibly going to clos objects sooner with the "just pass it as an argument" strategy, since then code could dispatch on the class of the object 2017-04-29T02:08:06Z |3b|: ideally the implementation would be hidden in either case though. (window (graphics (globals))) is just 3 normal function calls, and it doesn't matter where they get the values they return 2017-04-29T02:09:51Z krator44: passing a window as parameter can work in this case however.. 2017-04-29T02:10:14Z krator44: not for something such as (main-ship (map (game))) 2017-04-29T02:11:01Z |3b|: well, works for some uses, and maybe some of them would just be (main-ship map) with map passed as an argument 2017-04-29T02:11:15Z krator44: 'cause it's.. that would mean passing all the globals along to everything 2017-04-29T02:11:54Z |3b|: avoiding accessing global state (including singletons) is usually considered a good idea 2017-04-29T02:12:07Z |3b|: you only need to pass the ones that matter 2017-04-29T02:12:19Z |3b|: and if all of them matter you aren't breaking up your code properly :) 2017-04-29T02:12:53Z xrash joined #lisp 2017-04-29T02:12:54Z |3b|: like a function to draw a ship shouldn't care about anything aside from that 1 ship 2017-04-29T02:12:56Z kobain joined #lisp 2017-04-29T02:13:01Z kobain quit (Excess Flood) 2017-04-29T02:13:11Z |3b|: and a function to draw all the ships shouldn't care about anything aside from the list of ships to draw 2017-04-29T02:13:18Z kobain joined #lisp 2017-04-29T02:13:27Z |3b|: (and possibly where to draw it in both cases) 2017-04-29T02:14:06Z |3b|: similarly to the function to draw the whole world/map which calls those, which only needs the map data 2017-04-29T02:14:10Z krator44: yes but a function in the AI that checks that it can see the main ship uh 2017-04-29T02:14:38Z |3b|: right, an AI that operates on the whole map might need the map object 2017-04-29T02:14:40Z krator44: if you call it from the update-state function the main ship is the last thing you would think to pass it 2017-04-29T02:14:51Z krator44: right 2017-04-29T02:15:17Z |3b|: or you might have a separate structure for AI, since the graphics code doesn't need a bunch of AI data when it draw something 2017-04-29T02:15:50Z |3b|: and you might want a different version of the map, for example lower detail so pathfinding and collisions are faster 2017-04-29T02:17:21Z |3b|: but writing code is better than worrying about style to the point that you don't write code, so write it however you like if you can't see any way to improve it 2017-04-29T02:17:37Z |3b|: maybe ask other people for suggestions about how to improve it once in a while 2017-04-29T02:17:45Z rumbler31 joined #lisp 2017-04-29T02:18:01Z krator44: yea but i can see what you are saying about breaking it up properly 2017-04-29T02:18:10Z krator44: which can sometimes be difficult 2017-04-29T02:18:29Z l04m33 quit (Ping timeout: 252 seconds) 2017-04-29T02:18:58Z l04m33 joined #lisp 2017-04-29T02:19:24Z krator44: i think i'm almost definitely going to have at least one global variable 2017-04-29T02:19:47Z krator44: hence.. the question how to do that efficiently 2017-04-29T02:19:49Z |3b|: and as with most things, you can go too far with that stuff as well, so just need to have experience to figure out where the good point is 2017-04-29T02:20:39Z |3b| would say just store a clos object in a global and not worry about performance 2017-04-29T02:21:17Z |3b|: (and again, if performance matters you probably should have passed a more specific object to whatever is accessing the global so much) 2017-04-29T02:22:10Z |3b|: though usually, you can just have the 'global' state as a local in the top-level function and pass that to the next level functions, which pass more specific parts to things they call, and so on 2017-04-29T02:22:31Z rumbler31 quit (Ping timeout: 258 seconds) 2017-04-29T02:22:46Z |3b|: though i tend to store it in a global anyway so i can look at it for debugging more easily :) 2017-04-29T02:23:12Z krator44: right 2017-04-29T02:23:41Z nacci quit (Ping timeout: 255 seconds) 2017-04-29T02:24:06Z azzamsa_ joined #lisp 2017-04-29T02:24:18Z azzamsa_ quit (Remote host closed the connection) 2017-04-29T02:25:26Z krator44: well no doesn't make sense to pass state in every function 2017-04-29T02:26:10Z krator44: but thats really 'cause it's the kind of application that accesses state relatively unpredictably 2017-04-29T02:27:28Z azzamsa quit (Quit: Leaving) 2017-04-29T02:27:51Z azzamsa joined #lisp 2017-04-29T02:29:42Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-04-29T02:31:40Z mgood7123 quit (Ping timeout: 260 seconds) 2017-04-29T02:32:29Z mgood7123 joined #lisp 2017-04-29T02:33:44Z paul0 joined #lisp 2017-04-29T02:34:48Z space_otter joined #lisp 2017-04-29T02:39:00Z al-damiri quit (Quit: Connection closed for inactivity) 2017-04-29T02:41:03Z Guest24596 joined #lisp 2017-04-29T02:41:10Z killmaster quit (Ping timeout: 240 seconds) 2017-04-29T02:42:17Z sukaeto: |3b|: you can just call load on it 2017-04-29T02:42:26Z killmaster joined #lisp 2017-04-29T02:42:27Z sukaeto: or, at least this has always worked for me 2017-04-29T02:43:45Z |3b|: yeah, i think asdf tries to do something useful as much as it can, i'd probably try to use asdf:load-asd over cl:load though 2017-04-29T02:44:02Z |3b| mostly just lets it search normally 2017-04-29T02:45:00Z burton` quit (Ping timeout: 240 seconds) 2017-04-29T02:47:09Z azzamsa quit (Quit: Leaving) 2017-04-29T02:53:37Z rumbler31 joined #lisp 2017-04-29T02:54:32Z worm_food joined #lisp 2017-04-29T02:57:59Z rumbler31 quit (Ping timeout: 260 seconds) 2017-04-29T03:07:25Z m0cesta quit (Quit: ChatZilla 0.9.93 [Firefox 54.0a2/20170418074700]) 2017-04-29T03:17:38Z discardedes quit (Remote host closed the connection) 2017-04-29T03:20:31Z p9s_ joined #lisp 2017-04-29T03:20:32Z p9s quit (Read error: Connection reset by peer) 2017-04-29T03:21:26Z aeth: Well, I finally found the nail in the coffin for p/-p syntax 2017-04-29T03:22:01Z aeth: Sometimes something can be one word 'foop' that then creates a 'foo-bar-foop', e.g. a struct field called 'foop' 2017-04-29T03:22:18Z aeth: I think always doing '-p' or using Scheme's '?' is better at avoiding edge cases like this 2017-04-29T03:23:44Z aeth: With structs, especially structs that are then wrapped with a macro, it can get very confusing with "p"/"-p" naming. 2017-04-29T03:25:05Z schoppenhauer quit (Ping timeout: 240 seconds) 2017-04-29T03:26:52Z schoppenhauer joined #lisp 2017-04-29T03:26:52Z pilne quit (Quit: Quitting!) 2017-04-29T03:29:27Z rumbler31 joined #lisp 2017-04-29T03:33:48Z rumbler31 quit (Ping timeout: 240 seconds) 2017-04-29T04:10:06Z ccl-logbot joined #lisp 2017-04-29T04:10:06Z 2017-04-29T04:10:06Z names: ccl-logbot rumbler31 jack_rabbit schoppenhauer p9s_ worm_food killmaster Guest24596 paul0 mgood7123 l04m33 xrash d4ryus sellout- haz raynold cromachina fsmunoz safe MrWoohoo nowhereman vibs29 ironChicken scymtym froggey troydm milanj __main__ rk[ghost] defaultxr eschatologist oleo srcerer presiden edgar-rft sz0 whiteline zeldangit_ drcode Walex Draz gko Bike Jesin jasom chens yrk Tristam cmatei gigetoo PlasmaStar pr practica` dmiles mathrick emerson 2017-04-29T04:10:06Z names: frodef daemoz libreman razzy yeticry Lord_Nightmare lerax brendyn impulse NeverDie chinchilla vhost- Younder phoe larme eMBee alms_clozure danlentz e qlkzy lieven jcloud Hoolootwo gendl l1x msb redcedar nopf koisoke chu brandonz ecraven azrazalea tiago kjak__ kbtr adulteratedjedi beach nicdev` MrBismuth dbjergaard megalography Xof shpx krrrcks grumble ck_ TruePika forgot cpt_nemo ineiros_ cods samebcha1e ozzloy_ ramus theBlackDragon cibs hjudt_ setheus 2017-04-29T04:10:06Z names: myrkraverk dilated_dinosaur sohail kolko_ Intensity pillton ryanbw terpri heurist akkad_ Cthulhux Patzy yrdz fe[nl]ix Blkt zaquest mindCrime_ yoosi funnel dwrngr whartung DGASAU Guest24524 zooey_ SlashLife lxpz easye krator44 askatasuna ikopico HDurer2 Suzuran jsnell nikivi moei seg White_Flame otwieracz jackdaniel arrdem drdo watersoul_ minion loke`` Tordek kjeldahl Orion3k Oladon zzkt[m] harlequin78[m] Jach[m] thorondor[m] astronavt[m] pipping 2017-04-29T04:10:06Z names: RichardPaulBck[m M-Illandan jfb4 hvxgr roscoe_tw mazoe DeadTrickster ``Erik anaumov Ober oystewh_ jmasseo_ Zotan_ getha ogkloo Lord_of_Life jdz felideon itruslove fouric ryan_vw Oddity borodust zacts lemoinem Sigyn groovy2shoes thinkpad Guest99302 foom nyef segmond emacsomancer AntiSpamMeta nydel beaky tanuzzo Mandus tristero |3b| Posterdati thebored paratox nullman stee_3_ dlowe mikaelj ski davsebamse dim j_king GGMethos erethon antoszka Karunamon clog 2017-04-29T04:10:06Z names: leo_song cpape kushal cyberlard add^_ mingus snits argoneus lonjil CEnnis91 shenghi AeroNotix dan64 fluxit justinmcp fiddlerwoaroof brucem velvetcore_ midre pareidolia bungoman_ himmAllRight loke j0ni ericmathison vsync c0dehero Nikotiini fluter norfumpit ym vlnx trn coyo p_l axion mulk ggherdov switchy alphor misv djh lancetw billstclair sigjuice_ luis` raydeejay larsen benny mbrock gadwin_ tessier_ GuilOooo_ phadthai d4gg4d_ rann stux|RC mklk_ _death 2017-04-29T04:10:06Z names: Firedancer pankracy tilpner f32ff a7f4 xantoz malcom2073 jself zbigniew malm les HDurer Reinisch ksool vaporatorius jibanes zymurgy pent drot gensym Grue` Meow-J failproofshark cartwright MorTal1ty swflint xristos angular_mike_ Aritheanie Petit_Dejeuner dedmons SAL9000 z0d Vivek arjenve drmeister peccu1 PuercoPop shaftoe trig-ger tobel N3vYn Riviera arrsim rotty sgript Xach mnoonan mtd adlai dschoepe Colleen specbot vert2 giraffe TMA lpaste aaronjensen 2017-04-29T04:10:06Z names: sukaeto Fade unrahul kilimanjaro rvirding sveit anachrome tokenrove djinni` tmc rjeli mrSpec aeth ircbrowse eagleflo wizzo mood cyraxjoe joast kjak_____ joeygibson baroncharlus zkat dxtr pchrist __SiCC__ tephra_ sbryant o`connor_ isoraqathedh ft tkd Zhivago omilu filwisher gbyers kjak_ pok Odin- kini nhandler guaqua jurov josh5tone gabot kjak____ nimiux mjl asedeno banjiewen jerme_ tfb cebreidian knobo jean377 voidlily tomaw neuri8 copec flip214 derrida 2017-04-29T04:10:06Z names: Subfusc joga ec\_ pacon_ XachX gz_ splittist amoe_ renard_ H4ns abbe chavezgu taij33n 2017-04-29T04:10:08Z rumbler31 quit (Ping timeout: 259 seconds) 2017-04-29T04:10:28Z nowhereman quit (Ping timeout: 260 seconds) 2017-04-29T04:12:20Z aeth: (Not necessarily faster, but usually it's made much smaller by taking away certain redundant type checks, and generic arithmetic, and unnecessary allocations, etc.) 2017-04-29T04:13:03Z krator44: hmm well just 'cause it's 300 bytes doesn't mean that it runs faster 2017-04-29T04:13:03Z krator44: thats almost definitely something that the compiler should handle 2017-04-29T04:13:11Z worm_food quit (Quit: Leaving) 2017-04-29T04:16:56Z nyef: Typically, it *does* run faster, and not merely because of I-cache effects and less branch-prediction load, but because if the compiler knows that data is of certain types, it can eliminate the dispatch and code for handling other types that the data might have been. 2017-04-29T04:18:59Z Khisanth joined #lisp 2017-04-29T04:25:30Z krator44: even if it does the real question is whether that code is the code that is relevant to performance 2017-04-29T04:25:30Z Guest24596 quit (Ping timeout: 240 seconds) 2017-04-29T04:26:16Z gingerale joined #lisp 2017-04-29T04:28:42Z aeth: krator44: My rule is generally: If it runs 60+ times a second, optimize it at least (and usually just) at the level of data structures and type declarations. If it doesn't, don't optimize it that much, if at all. 2017-04-29T04:29:55Z aeth: And I avoid (safety 0), which might make things a bit faster in SBCL, but is generally a nice way to introduce really nasty bugs in SBCL. Breaking SBCL is trivial. Just do something bad with (safety 0) on. 2017-04-29T04:30:33Z zulu_inuoe joined #lisp 2017-04-29T04:30:57Z aeth: It helps a lot to precompute as much as possible, and to pre-allocate and reuse to avoid creating far too much garbage. 2017-04-29T04:31:24Z axion: type declarations don't always instruct the compiler that you are guaranteeing those types 2017-04-29T04:31:44Z nyef: Mmm. (safety 0) should never be used in SBCL except at a very restricted scope, typically smaller than a function, the generated code checked via disassembly, and all inputs should be validated. 2017-04-29T04:31:52Z axion: with safety, the compiler may even generate slower code. or the compiler is free to ignore them altogether 2017-04-29T04:32:06Z Petit_Dejeuner: "Breaking SBCL is trivial." I'm getting really tired of getting "bogus stack frames" while I mess with cl-sdl2. 2017-04-29T04:32:20Z Petit_Dejeuner: Maybe I should try clozure. 2017-04-29T04:32:23Z nyef: Petit_Dejeuner: Obvious solution: Stop messing with cl-sdl2. 2017-04-29T04:32:26Z aeth: Type declarations with (not (safety 0)) in SBCL at the very least avoid generic arithmetic, generic sequence stuff, and repetitive type checks (!!!) when only the one (not (safety 0)) type check is needed. 2017-04-29T04:33:23Z Petit_Dejeuner: nyef: Well yeah, but I want sdl2 bindings. I just don't want mistakes in my code to go past the FFI and become mistakes in the libraries. 2017-04-29T04:33:24Z nyef: Petit_Dejeuner: On the other hand, the SBCL debugger leaves a lot to be desired. 2017-04-29T04:33:59Z aeth: Type declarations aren't always needed, but they tend to help a lot with numbers, arrays, structs, etc. 2017-04-29T04:34:13Z aeth: Actually, the nice thing about structs is that SBCL knows the type once it knows the struct's type. 2017-04-29T04:35:02Z aeth: If you're doing something where they won't help much if at all, don't use them, obviously. 2017-04-29T04:35:53Z axion: I think it was I that showed you that they work great for certain gamedev stuff :) 2017-04-29T04:35:59Z nydel quit (Ping timeout: 252 seconds) 2017-04-29T04:36:00Z Petit_Dejeuner: aeth: There's a really poignant example of type declaration power in Common Lisp recipes. 2017-04-29T04:36:20Z Petit_Dejeuner: Making the type of a sequence of numbers explicit make it much much smaller. 2017-04-29T04:36:25Z mindCrime_ quit (Remote host closed the connection) 2017-04-29T04:36:29Z aeth: axion: Indirectly. You told me to start with a math library. 2017-04-29T04:36:41Z aeth: I noticed the huge improvement it made there. I started doing lots of declarations there. 2017-04-29T04:36:47Z axion: aeth: I was referring to structs, and how I showed you my math library using them. 2017-04-29T04:37:27Z aeth: I don't use structs in my math library, I use my define-array-and-type macro, which is very close to a struct of arrays, but not quite there. 2017-04-29T04:37:49Z aeth: s/struct of arrays/array-as-struct/ 2017-04-29T04:37:52Z aeth: or whatever the term is 2017-04-29T04:38:05Z Tordek quit (Ping timeout: 240 seconds) 2017-04-29T04:38:45Z me joined #lisp 2017-04-29T04:38:50Z aeth: I use structs in the ECS... because I'm basically taking the designs straight out of C. 2017-04-29T04:39:08Z me is now known as Guest5294 2017-04-29T04:39:28Z vert2 quit (Ping timeout: 240 seconds) 2017-04-29T04:40:30Z aeth: I greatly prefer arrays to structs in CL. I wrote some macros to almost entirely hide that I am using structs to hold my arrays in my ECS. Hiding the arrays would be much trickier. 2017-04-29T04:42:21Z aeth: I can now "select" arrays with select-one and do-select, e.g. https://gitlab.com/zombie-raptor/zombie-raptor/blob/f35974df925cae43e146a7b60711dde24860d113/entity/render.lisp 2017-04-29T04:42:23Z axion: My point was structs can be compiled to arrays 2017-04-29T04:42:30Z Bock joined #lisp 2017-04-29T04:48:05Z rpg joined #lisp 2017-04-29T04:48:07Z nydel joined #lisp 2017-04-29T04:49:15Z Tordek joined #lisp 2017-04-29T04:49:23Z axion: Except with accessors 2017-04-29T04:50:07Z rpg quit (Client Quit) 2017-04-29T04:50:33Z aeth: I wound up going with a struct-of-arrays approach, so I don't compile structs to arrays because I don't need thousands of accessors. I'm trying to hide the fact that there are accessors at all. Fortunately, the arrays don't need to be overwritten, which makes binding them in a hidden LET easy. 2017-04-29T04:50:43Z axion: (let ((v (vec 1.0 2.0 3.0 4.0))) (list (typep v 'vec-struct) (type-of v) (vz v) (aref v 2))) => (T (SIMPLE-ARRAY SINGLE-FLOAT (4)) 3.0 3.0) 2017-04-29T04:51:38Z vert2 joined #lisp 2017-04-29T04:52:53Z practica` quit (Read error: Connection reset by peer) 2017-04-29T04:53:15Z practica` joined #lisp 2017-04-29T04:54:33Z axion: and this way, I can have a virtualized interface instead of having the user use AREF directly and be out of sync with storage, assuming column-major OpenGL ordering, and column-vectors, should that ever change 2017-04-29T05:08:51Z Petit_Dejeuner: axion: Is it still possible to call aref? 2017-04-29T05:09:19Z axion: if you look above, then yes 2017-04-29T05:09:58Z Petit_Dejeuner: Sorry, my eyes glazed over a little. 2017-04-29T05:11:04Z grublet joined #lisp 2017-04-29T05:12:48Z mrcom joined #lisp 2017-04-29T05:14:19Z beach: Good morning everyone! 2017-04-29T05:16:12Z krator44: ok so common lisp has structs 2017-04-29T05:16:44Z beach: krator44: Yes, but it is preferable to use standard classes. 2017-04-29T05:16:48Z rumbler31 joined #lisp 2017-04-29T05:17:29Z krator44: http://stackoverflow.com/questions/4546118/whats-the-idiomatic-equivalent-of-c-structs-in-lisp 2017-04-29T05:18:17Z krator44: do you guys know what that comment there is saying where it says "lisp programming is done in a *completely* different style" 2017-04-29T05:19:51Z beach: krator44: I don't, because when I write C code, I try to make it look like my Common Lisp code as much as I possibly can. 2017-04-29T05:20:43Z jack_rabbit is now known as typedef 2017-04-29T05:21:09Z beach: krator44: Since C does not have automatic memory management, people tend to use pointers a lot less in C. Maybe that's what they mean. 2017-04-29T05:21:32Z rumbler31 quit (Ping timeout: 260 seconds) 2017-04-29T05:22:06Z krator44: yea but am i supposed to feel bad about using a specific style 2017-04-29T05:22:23Z krator44: thats just such an odd comment 2017-04-29T05:23:08Z shaftoe: feel however you want 2017-04-29T05:23:11Z shaftoe: :) 2017-04-29T05:23:23Z beach: If you expose your code here, we will let you know when your style does not respect agreed-upon conventions. 2017-04-29T05:23:23Z |3b|: most different thing i can think of is lisp tends towards more 'anonymous' things than C 2017-04-29T05:24:09Z typedef is now known as jack_rabbit 2017-04-29T05:24:44Z beach: krator44: I wouldn't pay much attention to what some individuals on stackoverflow say, especially not if they write "LISP" with all capital letters. 2017-04-29T05:24:47Z |3b|: closure instead of an explicit composite type passed to a function, or anonymous functions in general, also lists as a simple way to store name-value pairs, trees, sequences, etc rather than making a bunch of separate concrete types for each of those 2017-04-29T05:30:27Z |3b|: also less worrying about specific types in general. for example i wouldn't use the :type in the defclass forms in the "use CLOS ..." answer 2017-04-29T05:32:11Z White_Flame: krator44: Common Lisp doesn't have any particular unified "style" that is proclaimed. It's a multi-paradigm language that you can use all sorts of ways 2017-04-29T05:32:36Z |3b|: ":type number" makes me wonder if points can have complex numbers for x and y coordinates, so that doesn't even add much documentation value, the ":type point" might be better communicated by naming the fields point1 and point2 2017-04-29T05:32:52Z White_Flame: of course, if you are heavily SETFing a bunch of global variables, that's not violating a CL-specific style, but rather what's generally assumed over programming at large 2017-04-29T05:36:52Z beach: Friendly reminder: I posted several small tasks on the "Lisp Guild" in case someone would like to get involved in any of my projects. If so, I will definitely help out by answering any questions. https://github.com/Lisp-Guild/lisp-todo/projects/1 2017-04-29T05:37:09Z krator44: White_Flame: its just the one variable 2017-04-29T05:37:45Z White_Flame: krator44: I'm speaking hypothetically, in that you can write spaghetti code, or brittle code, or whatever negative code smell in CL just like you can in any other language 2017-04-29T05:37:50Z azzamsa joined #lisp 2017-04-29T05:37:51Z |3b|: krator44: problem is more about the number of places reading/writing it than # of variables 2017-04-29T05:37:59Z beach: krator44: If you have doubts about the style of your code, paste it to paste.lisp.org and you will get feedback here. 2017-04-29T05:38:06Z grublet quit (Quit: Leaving) 2017-04-29T05:40:18Z edgar-rft: krator44: what I like most is that Common Lisp doesn't enforce a specific style, instead it supports and encourages to experiment with styles. For example at the beginning of a bigger project I'm unsure if functional/procedural or object-oriented style would work better, then with lisp I can write two test versions in *both* styles and see what works better. 2017-04-29T05:40:48Z krator44: White_Flame: yea like.. it's true what you are saying but sometimes the application state is difficult to modularize effectively 2017-04-29T05:41:44Z White_Flame: all I'm saying is that there really isn't a "CL style" to violate. Just general programming practice that would apply to any language 2017-04-29T05:42:12Z White_Flame: the primary thing that gets pointed out is when people try to build something that CL already provides 2017-04-29T05:42:29Z White_Flame: usually around usage of LOOP or commonly available libraries 2017-04-29T05:42:46Z milanj quit (Quit: This computer has gone to sleep) 2017-04-29T05:44:56Z |3b| might add misuse of type system to that, at least for people coming from static typed languages 2017-04-29T05:49:23Z Suzuran42 joined #lisp 2017-04-29T05:51:41Z zulu_inuoe quit (Read error: Connection reset by peer) 2017-04-29T05:52:40Z Suzuran quit (Ping timeout: 246 seconds) 2017-04-29T05:52:40Z Suzuran42 is now known as Suzuran 2017-04-29T05:57:12Z mishoo joined #lisp 2017-04-29T05:59:27Z safe quit (Read error: Connection reset by peer) 2017-04-29T06:01:09Z xrash quit (Read error: Connection reset by peer) 2017-04-29T06:14:36Z p9s_ quit (Remote host closed the connection) 2017-04-29T06:15:09Z p9s joined #lisp 2017-04-29T06:19:28Z p9s quit (Ping timeout: 240 seconds) 2017-04-29T06:26:31Z megalography left #lisp 2017-04-29T06:33:51Z andrew_deane_ joined #lisp 2017-04-29T06:41:10Z Dotcra joined #lisp 2017-04-29T06:43:03Z FreeBirdLjj joined #lisp 2017-04-29T06:44:47Z azzamsa quit (Remote host closed the connection) 2017-04-29T06:45:31Z teggi joined #lisp 2017-04-29T06:58:08Z sbodin joined #lisp 2017-04-29T07:04:35Z FreeBirdLjj quit (Remote host closed the connection) 2017-04-29T07:05:05Z FreeBirdLjj joined #lisp 2017-04-29T07:08:36Z monoda joined #lisp 2017-04-29T07:09:16Z monoda: anyone else feel a perverted satisfaction whenever they use the cl format function? 2017-04-29T07:13:24Z JuanDaugherty joined #lisp 2017-04-29T07:15:04Z shrdlu68 joined #lisp 2017-04-29T07:16:48Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2017-04-29T07:17:37Z FreeBirdLjj joined #lisp 2017-04-29T07:19:08Z jackdaniel: monoda: what do you mean? 2017-04-29T07:24:16Z yoosi quit (Remote host closed the connection) 2017-04-29T07:24:37Z yoosi joined #lisp 2017-04-29T07:24:41Z FreeBirdLjj quit (Remote host closed the connection) 2017-04-29T07:25:11Z FreeBirdLjj joined #lisp 2017-04-29T07:35:42Z practica` quit (Read error: Connection reset by peer) 2017-04-29T07:38:12Z practica` joined #lisp 2017-04-29T07:40:08Z sbodin quit (Ping timeout: 260 seconds) 2017-04-29T07:41:50Z Karl_Dscc joined #lisp 2017-04-29T07:46:59Z sbodin joined #lisp 2017-04-29T07:47:33Z vlatkoB joined #lisp 2017-04-29T07:48:21Z andrew_deane_ quit (Ping timeout: 258 seconds) 2017-04-29T07:50:51Z yrk quit (Read error: Connection reset by peer) 2017-04-29T07:55:39Z daemoz quit (Remote host closed the connection) 2017-04-29T07:56:03Z daemoz joined #lisp 2017-04-29T07:57:39Z FreeBird_ joined #lisp 2017-04-29T08:00:08Z FreeBirdLjj quit (Ping timeout: 240 seconds) 2017-04-29T08:04:34Z rippa joined #lisp 2017-04-29T08:05:51Z Orion3k quit (Quit: Leaving) 2017-04-29T08:07:12Z pjb joined #lisp 2017-04-29T08:07:23Z pjb is now known as Guest83603 2017-04-29T08:08:13Z presiden quit (Read error: Connection reset by peer) 2017-04-29T08:11:52Z sbodin quit (Ping timeout: 268 seconds) 2017-04-29T08:11:55Z angavrilov joined #lisp 2017-04-29T08:13:52Z Guest83603 is now known as pjb` 2017-04-29T08:14:12Z pjb` is now known as pjb 2017-04-29T08:16:26Z haz quit (Quit: Leaving) 2017-04-29T08:16:51Z hhdave joined #lisp 2017-04-29T08:28:46Z Karl_Dscc quit (Remote host closed the connection) 2017-04-29T08:34:23Z attila_lendvai joined #lisp 2017-04-29T08:36:14Z shka_ joined #lisp 2017-04-29T08:43:35Z milanj joined #lisp 2017-04-29T08:44:48Z milanj quit (Client Quit) 2017-04-29T08:45:01Z lerax quit (Read error: Connection reset by peer) 2017-04-29T08:45:42Z lerax joined #lisp 2017-04-29T08:47:34Z presiden joined #lisp 2017-04-29T08:49:26Z milanj joined #lisp 2017-04-29T08:51:00Z phoe: monoda: only when my format control has 10+ more directives 2017-04-29T08:51:08Z thinkpad quit (Ping timeout: 255 seconds) 2017-04-29T08:51:16Z phoe: so it's more arcane magic than programming 2017-04-29T08:52:42Z thinkpad joined #lisp 2017-04-29T08:53:22Z ioa joined #lisp 2017-04-29T08:55:32Z White_Flame: I always have to use the reference whenever I touch format for more than ~a or ~s 2017-04-29T08:55:57Z White_Flame: and the feeling afterward is more like exhaustion than satisfaction ;) 2017-04-29T08:56:21Z varjag joined #lisp 2017-04-29T08:56:29Z pve joined #lisp 2017-04-29T08:57:05Z defaultxr quit (Ping timeout: 240 seconds) 2017-04-29T08:57:31Z ioa: hi, I'm exploring neural networks, can anyone recommend a library for matrices? I need it to include the following matrix operations: transposition, addition, multiplication, multiplication with a scalar, Hadamard multiplication, Kronecker multiplication, and horizontal matrix concatenation. 2017-04-29T08:58:04Z hhdave quit (Ping timeout: 260 seconds) 2017-04-29T08:58:22Z jack_rabbit: I should build one of those. 2017-04-29T08:58:59Z andrew_deane_ joined #lisp 2017-04-29T09:06:56Z monoda quit (Ping timeout: 258 seconds) 2017-04-29T09:07:07Z phoe: ioa: http://www.cliki.net/linear%20algebra 2017-04-29T09:07:27Z phoe: this page has some libraries, although I don't know which ones are the most recommended ones 2017-04-29T09:07:38Z phoe: I'd say look them up on github and compare their star count 2017-04-29T09:10:18Z andrew_deane_ quit (Ping timeout: 260 seconds) 2017-04-29T09:11:46Z Bike quit (Quit: leaving) 2017-04-29T09:13:42Z ryxai joined #lisp 2017-04-29T09:17:13Z andrew_deane_ joined #lisp 2017-04-29T09:21:45Z rumbler31 joined #lisp 2017-04-29T09:24:43Z MoALTz joined #lisp 2017-04-29T09:26:05Z ioa: phoe: CLiki's recommended libraries has a lot of broken links, and it looks like it hasn't been updated in some time. Makes me want to start updating it... 2017-04-29T09:26:05Z rumbler31 quit (Ping timeout: 245 seconds) 2017-04-29T09:26:29Z beach: ioa: Good idea. 2017-04-29T09:27:10Z jackdaniel: ioa: it's a wiki - as strong as its contributor base 2017-04-29T09:27:25Z jackdaniel: I'm updating pages when I find broken links there 2017-04-29T09:27:40Z jackdaniel: I'm sure others does that as well, there was a "history" page afair 2017-04-29T09:27:51Z jackdaniel: s/was/is/ 2017-04-29T09:28:11Z phoe: ioa: I can give you 250 XP for the task if #lisp experience means anything to you. ;) 2017-04-29T09:28:24Z andrew_deane_ quit (Ping timeout: 260 seconds) 2017-04-29T09:28:46Z shifty joined #lisp 2017-04-29T09:29:18Z p_l: jackdaniel: it might need something automated 2017-04-29T09:29:27Z p_l: is Cliki still running that ancient software? 2017-04-29T09:29:32Z ioa: phoe: it doesn't but i always welcome XP :) 2017-04-29T09:29:48Z _death: sb-cga could be a start 2017-04-29T09:30:40Z phoe: ioa: consider the quest started, then 2017-04-29T09:31:42Z _death: (it only supports 4x4 matrices, and not all the operations, but can be modified) 2017-04-29T09:32:56Z getha quit (Remote host closed the connection) 2017-04-29T09:34:44Z ioa: _death: thanks, I added it to my list of libraries to check 2017-04-29T09:36:24Z pjb: ioa: this is the quicklisp effect. Basically, nowadays quicklisp represents the recommended libraries (at least, validated as compiling on sbcl). 2017-04-29T09:37:05Z thijso joined #lisp 2017-04-29T09:37:10Z _death: back when I needed a linear algebra library I used https://github.com/tpapp/lla .. but it requires foreign libraries (blas and lapack) 2017-04-29T09:38:39Z pjb: ioa: but it's interesting to keep those old pages, even with dangling links: so you can try to track them, put them on some public git repository, update them with an asdf system and distribute them thru quicklisp. 2017-04-29T09:38:50Z jackdaniel: pjb: afaik quicklisp requirement is that library compiles on at least *two* implementations 2017-04-29T09:39:01Z jackdaniel: I think it's checked to work on sbcl and ccl 2017-04-29T09:39:28Z pjb: _death: that's the curse of FFI: you get quick CL libraries, wrapping over existing C libraries. But then you need to run foreign code. Rewrite them in pure Common Lisp! 2017-04-29T09:40:01Z pjb: jackdaniel: better then. 2017-04-29T09:40:18Z _death: pjb: I think they let their machine rewrite it in CL instead (f2cl) 2017-04-29T09:40:33Z pjb: Of course, it's also a way to do it. 2017-04-29T09:42:52Z shrdlu68: I have a list that may contain (<= 3 n 5) elements. I want to use destructuring-bind, but the optional elements are not at the end. Any ideas on some other solution other than manipulating the list? 2017-04-29T09:43:40Z _death: canonicalize 2017-04-29T09:44:06Z drl joined #lisp 2017-04-29T09:44:16Z ryxai quit (Ping timeout: 260 seconds) 2017-04-29T09:44:53Z _death: unless you consider that "manipulating the list".. you could come up with your own macro if you do that alot 2017-04-29T09:45:00Z phoe: ^ 2017-04-29T09:45:08Z shrdlu68: Hm. No way to say, if it has 3 elements, use this destructuring-bind form, if it has 4, use this, etc. 2017-04-29T09:45:18Z phoe: write a macro 2017-04-29T09:47:53Z drl: quicklisp is telling me "system not found" when I try to load "com.infomatimago.common-lisp.cesarum" 2017-04-29T09:48:01Z shrdlu68: Macrolet, perfect. 2017-04-29T09:48:28Z drl: Is com.infomatimago.common-lisp.cesarum no longer available? 2017-04-29T09:49:56Z phoe: drl: I think it was removed because it stopped building one day 2017-04-29T09:50:29Z phoe: And nobody did the effort to make it build again. 2017-04-29T09:50:38Z phoe: drl: you might contact XachX if you want to change that. 2017-04-29T09:50:49Z phoe: note that it's still available if you clone it to local-projects. 2017-04-29T09:51:40Z drl: phoe, OK. Thanks for letting me know. 2017-04-29T09:57:43Z phoe: drl: if #lisp experience means anything to you, I could offer you 250 XP for investigating why exactly it was removed and what were the errors that need to be fixed. 2017-04-29T09:58:10Z X-Scale joined #lisp 2017-04-29T10:03:01Z ioa: ok, I can't find affi, the first library in http://www.cliki.net/linear%20algebra, when I duckduckgo it... Unless someone has a better idea, I'll just delete such libraries from the list where they appear. 2017-04-29T10:03:28Z drl: phoe, thanks, but I don't have the knowledge of time to fix it right now. I should have made my program into a stand-alone executable a long time ago, while I had the chance. 2017-04-29T10:04:41Z Dotcra quit (Quit: leaving) 2017-04-29T10:04:42Z drl: Does Pascal Bourguignon still make posts here? 2017-04-29T10:06:49Z phoe: drl: yes, find him under the nickname pjb or ogamita 2017-04-29T10:06:52Z jackdaniel: drl: it is pjb 2017-04-29T10:07:18Z drl: OK, thanks. 2017-04-29T10:08:38Z pjb: Hi! 2017-04-29T10:08:58Z jack_rabbit: hi 2017-04-29T10:09:43Z pjb: drl: I've been busy with other things, but in two weeks I'll have time again to update cesarum and make it come back into quicklisp. 2017-04-29T10:10:10Z prole joined #lisp 2017-04-29T10:10:30Z pjb: In the mean time, you can fetch it from gitlab or github, into ~/quicklisp/local-projects/. 2017-04-29T10:10:52Z White_Flame: shrdlu68: you touch upon something that I've thought about for a while. Since I do a lot of matching-style stuff in code, I've been wondering if it would be worth it to have a regex-like library, but would match against list entries instead of string characters 2017-04-29T10:12:04Z drl: pjb, thanks. 2017-04-29T10:13:01Z Mon_Ouie joined #lisp 2017-04-29T10:17:28Z l04m33 quit (Ping timeout: 240 seconds) 2017-04-29T10:19:39Z l04m33 joined #lisp 2017-04-29T10:22:35Z jfb4 quit (Read error: Connection reset by peer) 2017-04-29T10:24:14Z shrdlu68: White_Flame: I've never thought of that, very interesting. 2017-04-29T10:25:32Z shrdlu68: It would be worth it. 2017-04-29T10:28:54Z orivej joined #lisp 2017-04-29T10:45:59Z DingoSaar joined #lisp 2017-04-29T10:51:51Z axion: Well this is new to me...inline expansion limit reached. I'm not explicitly inlining anything though. 2017-04-29T10:52:04Z axion: I have a really large function though. Wonder how I can fix this 2017-04-29T10:56:40Z hhdave joined #lisp 2017-04-29T10:59:04Z azzamsa joined #lisp 2017-04-29T11:01:13Z Guest26447 joined #lisp 2017-04-29T11:02:41Z beach: I wonder whether SBCL checks for recursive inlinings, or it relies on this limit to catch such situations. I ran into the limit when I wanted to compile the SICL sequence functions, but that's a direct result of the way these functions are written, as I explain in the ELS paper on this subject. 2017-04-29T11:03:08Z beach: You can just increase the limit, by the way. 2017-04-29T11:04:05Z axion: beach: it does. it even says i'm probably trying to do this 2017-04-29T11:04:07Z axion: but i'm not 2017-04-29T11:04:30Z axion: Yeah I know, but I definitely do not want this inlined, and notinline is saying the same thing 2017-04-29T11:04:43Z axion: This function is 15KB of assembly 2017-04-29T11:05:20Z axion: http://paste.lisp.org/display/345419 2017-04-29T11:07:04Z beach: It's probably the functions for arithmetic that are inlined. 2017-04-29T11:07:19Z beach: And, if you want reasonable performance, you do want them inlined. 2017-04-29T11:07:27Z beach: I suggest you just increase the limit. 2017-04-29T11:08:11Z axion: Ok 2017-04-29T11:10:14Z beach: It is set very low by default: 200. 2017-04-29T11:11:38Z axion: At the moment I'm trying to figure out why the same function in another library does not give this compiler note 2017-04-29T11:12:39Z jameser joined #lisp 2017-04-29T11:14:38Z DingoSaar quit (Remote host closed the connection) 2017-04-29T11:14:43Z jameser quit (Client Quit) 2017-04-29T11:15:22Z DingoSaar joined #lisp 2017-04-29T11:17:08Z l04m33 quit (Ping timeout: 260 seconds) 2017-04-29T11:18:00Z beach: I don't know how the mechanism works. Maybe it's per file or per compilation unit, rather than per function. 2017-04-29T11:18:18Z axion: apparently EVAL-WHEN fixes it...though probably not correct 2017-04-29T11:19:57Z rjid joined #lisp 2017-04-29T11:28:29Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-04-29T11:29:08Z scymtym quit (Ping timeout: 260 seconds) 2017-04-29T11:30:38Z attila_lendvai joined #lisp 2017-04-29T11:31:44Z rjid quit (Ping timeout: 260 seconds) 2017-04-29T11:34:58Z l04m33 joined #lisp 2017-04-29T11:36:51Z DingoSaar_ joined #lisp 2017-04-29T11:38:06Z DingoSaar_ quit (Remote host closed the connection) 2017-04-29T11:41:51Z azzamsa quit (Read error: Connection reset by peer) 2017-04-29T11:42:18Z jameser joined #lisp 2017-04-29T11:42:58Z FreeBird_ quit (Remote host closed the connection) 2017-04-29T11:43:43Z Jesin quit (Ping timeout: 260 seconds) 2017-04-29T11:46:38Z varjag quit (Ping timeout: 252 seconds) 2017-04-29T11:48:04Z zeldangit_ quit (Ping timeout: 260 seconds) 2017-04-29T11:48:14Z Jesin joined #lisp 2017-04-29T11:52:36Z Jesin quit (Max SendQ exceeded) 2017-04-29T11:52:50Z jack_rabbit quit (Ping timeout: 247 seconds) 2017-04-29T11:52:58Z Jesin joined #lisp 2017-04-29T11:53:01Z Baggers joined #lisp 2017-04-29T11:55:54Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-04-29T11:56:18Z jameser joined #lisp 2017-04-29T11:59:02Z beaky quit (Remote host closed the connection) 2017-04-29T12:00:15Z rpg joined #lisp 2017-04-29T12:00:36Z beaky joined #lisp 2017-04-29T12:01:35Z brandonz quit (Quit: WeeChat 1.7) 2017-04-29T12:04:48Z azzamsa joined #lisp 2017-04-29T12:09:39Z jameser quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-04-29T12:09:40Z PlasmaStar quit (Read error: Connection reset by peer) 2017-04-29T12:09:44Z scymtym joined #lisp 2017-04-29T12:10:04Z PlasmaStar joined #lisp 2017-04-29T12:12:14Z grublet joined #lisp 2017-04-29T12:13:59Z Baggers left #lisp 2017-04-29T12:14:32Z Guest5294 is now known as nacci 2017-04-29T12:20:24Z FreeBirdLjj joined #lisp 2017-04-29T12:25:56Z FreeBirdLjj quit (Ping timeout: 268 seconds) 2017-04-29T12:26:39Z Guest26447 quit (Quit: Lost terminal) 2017-04-29T12:30:05Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-04-29T12:32:38Z drl quit (Quit: Ex-Chat) 2017-04-29T12:33:08Z jameser joined #lisp 2017-04-29T12:33:56Z prole quit (Ping timeout: 252 seconds) 2017-04-29T12:35:51Z jameser quit (Client Quit) 2017-04-29T12:50:41Z FreeBirdLjj joined #lisp 2017-04-29T12:52:32Z prole joined #lisp 2017-04-29T12:54:02Z TDT joined #lisp 2017-04-29T12:57:14Z wildlander joined #lisp 2017-04-29T13:04:10Z EvW joined #lisp 2017-04-29T13:08:21Z shrdlu68 left #lisp 2017-04-29T13:11:00Z mgood7123 quit (Ping timeout: 260 seconds) 2017-04-29T13:11:08Z zulu_inuoe joined #lisp 2017-04-29T13:14:30Z nowhereman joined #lisp 2017-04-29T13:19:35Z barton_ joined #lisp 2017-04-29T13:19:35Z barton_ quit (Changing host) 2017-04-29T13:19:35Z barton_ joined #lisp 2017-04-29T13:28:14Z ioa quit (Quit: Leaving.) 2017-04-29T13:32:53Z shaftoe: is bknr.datastore as cool as it looks? 2017-04-29T13:35:05Z hhdave quit (Ping timeout: 240 seconds) 2017-04-29T13:36:27Z hhdave joined #lisp 2017-04-29T13:36:40Z phoe: shaftoe: I've used it a bit 2017-04-29T13:36:42Z phoe: and, well, it is 2017-04-29T13:37:18Z phoe: I want to extend it one day so it is capable of using multiple stores out of the box, when the limit of one global store per Lisp image isn't acceptable for you 2017-04-29T13:38:04Z shaftoe: i was running into the problem of keeping postgresql data and in-memory data synced up 2017-04-29T13:38:14Z shaftoe: then i saw that chapter on bknr in common lisp recipes 2017-04-29T13:40:02Z EvW quit (Ping timeout: 255 seconds) 2017-04-29T13:40:40Z phoe: BKNR is different than postgresql as it's an in-memory store 2017-04-29T13:40:49Z phoe: based on the idea of prevalence. 2017-04-29T13:40:49Z shaftoe: yes 2017-04-29T13:41:20Z hhdave quit (Ping timeout: 260 seconds) 2017-04-29T13:45:24Z loke___ joined #lisp 2017-04-29T13:45:25Z Mon_Ouie quit (Read error: No route to host) 2017-04-29T13:45:28Z brendyn quit (Ping timeout: 240 seconds) 2017-04-29T13:46:04Z Mon_Ouie joined #lisp 2017-04-29T13:48:37Z phoe: I have a URL in form http://foo.bar/baz/quux/et/.../haf.bob - how can I extract only the "filename", as in, the last part, in this case, "haf.bob"? 2017-04-29T13:50:31Z loke___: phoe: use subseq? 2017-04-29T13:50:46Z loke___: If there can be a ?xx=yy part, then you can splice out the path component first using puri 2017-04-29T13:53:13Z phoe: loke___: subseq sounds nice, but I want to always cut the part after the last slash 2017-04-29T13:53:21Z phoe: the URL might vary in length 2017-04-29T13:53:31Z beach: phoe: Use POSITION to find the position of the last slash. 2017-04-29T13:53:33Z loke___: phoe: Combine it with POSITION? 2017-04-29T13:53:44Z loke___: Yeah, what beach said. 2017-04-29T13:53:47Z beach: phoe: With :FROM-END T. 2017-04-29T13:54:38Z phoe: beach: loke___ Thanks! 2017-04-29T14:00:45Z azzamsa quit (Ping timeout: 240 seconds) 2017-04-29T14:05:14Z fsmunoz quit (Ping timeout: 255 seconds) 2017-04-29T14:05:25Z Mon_Ouie quit (Read error: Connection reset by peer) 2017-04-29T14:14:38Z raynold quit (Quit: Connection closed for inactivity) 2017-04-29T14:18:05Z practica` quit (Read error: Connection reset by peer) 2017-04-29T14:18:27Z practica` joined #lisp 2017-04-29T14:20:28Z barton_ quit (Remote host closed the connection) 2017-04-29T14:20:44Z barton_ joined #lisp 2017-04-29T14:20:44Z barton_ quit (Changing host) 2017-04-29T14:20:44Z barton_ joined #lisp 2017-04-29T14:27:02Z fsmunoz joined #lisp 2017-04-29T14:27:37Z pilne joined #lisp 2017-04-29T14:30:14Z hhdave joined #lisp 2017-04-29T14:31:48Z sellout- quit (Quit: Leaving.) 2017-04-29T14:33:13Z Bike joined #lisp 2017-04-29T14:33:29Z haz joined #lisp 2017-04-29T14:35:01Z hhdave quit (Ping timeout: 255 seconds) 2017-04-29T14:36:11Z Mon_Ouie joined #lisp 2017-04-29T14:37:55Z practica` quit (Ping timeout: 268 seconds) 2017-04-29T14:38:27Z practica` joined #lisp 2017-04-29T14:38:57Z shifty quit (Ping timeout: 240 seconds) 2017-04-29T14:41:16Z Draz quit (Quit: Leaving) 2017-04-29T14:49:56Z azzamsa joined #lisp 2017-04-29T14:51:33Z unbalancedparen joined #lisp 2017-04-29T14:51:47Z yeticry_ joined #lisp 2017-04-29T14:52:45Z yeticry quit (Read error: Connection reset by peer) 2017-04-29T14:53:03Z otjura joined #lisp 2017-04-29T14:53:52Z BusFactor1 joined #lisp 2017-04-29T14:56:44Z otjura: is there a possiblitity of having lisp implementation running as a background process in a same way emacs --daemon works and then run lisp files through it kinda like shell scripts? 2017-04-29T14:56:57Z Karl_Dscc joined #lisp 2017-04-29T14:57:23Z cmatei quit (Ping timeout: 260 seconds) 2017-04-29T14:57:39Z cmatei joined #lisp 2017-04-29T14:58:35Z phoe: otjura: I remember that some people were chatting about in here in #lisp but I don't know what the final effects of that were. 2017-04-29T14:59:15Z pjb: otjura: This is basically how it works every day for all CL programmers. 2017-04-29T14:59:35Z pjb: otjura: the Common Lisp implementation runs in the background, and emacs connects to it thru slime/swank. 2017-04-29T15:00:08Z phoe: pjb: from what I understand, the idea is to daemonize the Lisp image and then use it to run some shell scripts. 2017-04-29T15:00:33Z phoe: something like #!/bin/runlisp but that executes the script on the existing image instead of spinning up a new Lisp image. 2017-04-29T15:05:06Z fsmunoz: an implementation of the swank protocol in a cli program (send-lisp or something) that sends to a running CL with the swank server running would be a way imo 2017-04-29T15:05:28Z phoe: sounds good, yes 2017-04-29T15:05:46Z smoon joined #lisp 2017-04-29T15:06:15Z fsmunoz: https://github.com/rpav/ScriptL 2017-04-29T15:06:21Z fsmunoz: My idea lead me to this 2017-04-29T15:06:38Z fsmunoz: "Shell scripting made Lisp-like! Or, live-coding remote function calls for the shell." 2017-04-29T15:07:25Z fsmunoz: THe description sounds exactly like what you want 2017-04-29T15:08:03Z fsmunoz: "This all works, of course, by making a server on a port in your Lisp and listening there. I really wanted to use Swank, but in the end the problem went from simply talking to swank to implementing READ in the shell, and that's a lot more work than just writing a new, more targeted server." 2017-04-29T15:09:50Z pjb: Actually the question is to have slime implemented in CL. Otherwise you have to go thru emacs… 2017-04-29T15:10:05Z phoe: pjb: not slime, just some kind of swank client. 2017-04-29T15:10:13Z phoe: https://github.com/brown/swank-client 2017-04-29T15:10:16Z pjb: Yes. 2017-04-29T15:10:19Z phoe: https://github.com/eudoxia0/swank-protocol 2017-04-29T15:10:25Z phoe: Boom, two implementations. 2017-04-29T15:10:33Z pjb: Great! :-) 2017-04-29T15:10:44Z phoe: slime is much more than just a swank client. 2017-04-29T15:10:51Z pjb: Inded. 2017-04-29T15:10:52Z pjb: e 2017-04-29T15:11:08Z phoe: fsmunoz: implementing READ? 2017-04-29T15:11:14Z pjb: They're even in ql. 2017-04-29T15:11:20Z fsmunoz: phoe: I am citing the README 2017-04-29T15:11:26Z phoe: but AFAIK you don't need to READ anything, you just grab the whole string and stuff it into swank 2017-04-29T15:11:31Z phoe: swank will READ and evaluate it 2017-04-29T15:11:54Z phoe: you feed it raw data, there is no need for implementing READ in the shell 2017-04-29T15:11:59Z fsmunoz: phoe: I know close to nothing about swank so I can't really argument either way 2017-04-29T15:12:44Z phoe: fsmunoz: if you'd like to, you can read up on these clients I linked above to see how the client side of Swank works. 2017-04-29T15:15:00Z fsmunoz: phoe: will do, thanks 2017-04-29T15:16:48Z otjura: phoe: yes that was my idea. would be cool not having to push new 10mb sbcl instance to memory if I'd want to run 3 line script 2017-04-29T15:17:45Z beach: I added two more task to the Lisp Guild. https://github.com/Lisp-Guild/lisp-todo/projects/1 2017-04-29T15:18:08Z beach: otjura: That's not how demand paging works. 2017-04-29T15:18:35Z otjura: and while at it put it to $PATH so people could run +x lisp scripts by just typing them 2017-04-29T15:19:42Z p_l: if that sbcl is just 10mb, then it's compressed not paged from memory xD 2017-04-29T15:20:10Z p_l: *from disk 2017-04-29T15:23:00Z hyero joined #lisp 2017-04-29T15:24:30Z azzamsa quit (Quit: Leaving) 2017-04-29T15:24:49Z azzamsa joined #lisp 2017-04-29T15:27:40Z pmetzger joined #lisp 2017-04-29T15:33:58Z gacepa joined #lisp 2017-04-29T15:48:50Z unbalancedparen quit (Quit: WeeChat 1.7) 2017-04-29T16:07:10Z pmetzger quit (Remote host closed the connection) 2017-04-29T16:13:10Z otjura: p_l: sbcl 1.3.5 --no-userinit The process sbcl (with pid 31566) is using approximately 10.4 MB of memory. 2017-04-29T16:14:30Z varjag joined #lisp 2017-04-29T16:16:39Z loke___ quit (Ping timeout: 258 seconds) 2017-04-29T16:16:45Z hhdave joined #lisp 2017-04-29T16:17:20Z p_l: otjura: interesting. that does look demand paged :-) 2017-04-29T16:18:12Z p_l: which counter shows 10mb? 2017-04-29T16:21:24Z hhdave quit (Ping timeout: 260 seconds) 2017-04-29T16:24:34Z beach: This is interesting. I would like to know more. 2017-04-29T16:27:40Z sellout- joined #lisp 2017-04-29T16:28:48Z DingoSaar quit (Remote host closed the connection) 2017-04-29T16:29:20Z azzamsa quit (Ping timeout: 252 seconds) 2017-04-29T16:30:15Z DingoSaar joined #lisp 2017-04-29T16:45:19Z smoon quit (Quit: smoon) 2017-04-29T16:49:43Z smoon joined #lisp 2017-04-29T16:52:31Z gingerale quit (Remote host closed the connection) 2017-04-29T16:52:59Z orivej quit (Ping timeout: 252 seconds) 2017-04-29T16:54:24Z gingerale joined #lisp 2017-04-29T16:55:34Z orivej joined #lisp 2017-04-29T16:58:09Z pmetzger joined #lisp 2017-04-29T17:00:46Z smoon quit (Quit: smoon) 2017-04-29T17:00:56Z haz quit (Quit: Leaving) 2017-04-29T17:01:44Z DingoSaar quit (Remote host closed the connection) 2017-04-29T17:02:21Z DingoSaar joined #lisp 2017-04-29T17:04:08Z presiden quit (Remote host closed the connection) 2017-04-29T17:05:08Z nyef quit (Ping timeout: 260 seconds) 2017-04-29T17:07:55Z FreeBirdLjj quit (Remote host closed the connection) 2017-04-29T17:08:25Z FreeBirdLjj joined #lisp 2017-04-29T17:09:33Z scymtym quit (Ping timeout: 258 seconds) 2017-04-29T17:11:12Z krator44: somehow clisp and cmucl won't build on gentoo.. 2017-04-29T17:11:58Z krator44: but ecl and sbcl (and gcl but its incomplete i guess) will build just fine 2017-04-29T17:12:14Z orivej quit (Ping timeout: 252 seconds) 2017-04-29T17:17:08Z kushal quit (Quit: ZNC 1.6.3 - http://znc.in) 2017-04-29T17:17:48Z kushal joined #lisp 2017-04-29T17:18:12Z kushal is now known as Guest55159 2017-04-29T17:20:00Z DingoSaar quit (Remote host closed the connection) 2017-04-29T17:24:09Z DingoSaar joined #lisp 2017-04-29T17:24:43Z Guest55159 is now known as kushal 2017-04-29T17:24:49Z kushal quit (Changing host) 2017-04-29T17:24:49Z kushal joined #lisp 2017-04-29T17:26:04Z DingoSaar quit (Remote host closed the connection) 2017-04-29T17:27:00Z p_l: krator44: how are you building cmucl? 2017-04-29T17:27:01Z DingoSaar joined #lisp 2017-04-29T17:27:24Z smoon joined #lisp 2017-04-29T17:29:09Z megalography joined #lisp 2017-04-29T17:31:29Z DingoSaar quit (Remote host closed the connection) 2017-04-29T17:32:23Z krator44: emerge cmucl 2017-04-29T17:32:42Z otjura: p_l, beach: sbcl Fedora linux build, resource use checked from KSysGuard 2017-04-29T17:33:05Z otjura: how much it "should" use? 2017-04-29T17:33:52Z phoe: krator44: how does it fail? 2017-04-29T17:34:01Z phoe: are you sure that you have a CMUCL binary it can bootstrap itself off? 2017-04-29T17:34:51Z krator44: uh.. let me try again 2017-04-29T17:35:22Z krator44: it should.. it's gentoo so it should basically just build 2017-04-29T17:35:49Z krator44: including downloading the binary if necessary 2017-04-29T17:36:10Z krator44: but i think there's some kind of a bug with the build process 2017-04-29T17:39:42Z FreeBird_ joined #lisp 2017-04-29T17:39:49Z pmetzger quit (Remote host closed the connection) 2017-04-29T17:39:54Z krator44: it says "Cannot fix site-init.lisp" 2017-04-29T17:40:08Z gacepa quit (Quit: Connection closed for inactivity) 2017-04-29T17:40:09Z krator44: so i think it's this 2017-04-29T17:40:10Z krator44: https://bugs.gentoo.org/show_bug.cgi?id=382463 2017-04-29T17:41:40Z megalography quit (Ping timeout: 260 seconds) 2017-04-29T17:42:41Z FreeBird_ quit (Remote host closed the connection) 2017-04-29T17:42:53Z warweasle joined #lisp 2017-04-29T17:43:04Z FreeBirdLjj quit (Ping timeout: 260 seconds) 2017-04-29T17:46:39Z ryxai joined #lisp 2017-04-29T17:47:18Z ryxai quit (Max SendQ exceeded) 2017-04-29T17:47:51Z ryxai joined #lisp 2017-04-29T17:48:17Z ryxai quit (Max SendQ exceeded) 2017-04-29T17:48:51Z ryxai joined #lisp 2017-04-29T17:49:27Z phoe: "I simply changed "$(get_libdir)" to "lib" in the ebuild to work around this problem." 2017-04-29T17:49:28Z ryxai quit (Max SendQ exceeded) 2017-04-29T17:49:33Z phoe: looks like there's a workaround 2017-04-29T17:50:09Z ryxai joined #lisp 2017-04-29T17:50:47Z ryxai quit (Max SendQ exceeded) 2017-04-29T17:50:58Z beach: krator44: From what I have heard, you can't just build CMUCL. It takes an existing CMUCL image and an expert on how the system was designed to transform the old image to the new image. SBCL was forked from CMUCL so that it could be built from scratch. 2017-04-29T17:51:41Z ryxai joined #lisp 2017-04-29T17:52:07Z ryxai quit (Max SendQ exceeded) 2017-04-29T17:53:01Z ryxai joined #lisp 2017-04-29T17:53:11Z pipping: beach: the issue is that there are x86 binaries but not x86_64 binaries and he's on x86_64 2017-04-29T17:53:13Z p_l: otjura: I mean, which counter? VSS (aka Virtual), RSS etc. 2017-04-29T17:53:48Z pipping: I wonder why that is (no 64bit binaries) 2017-04-29T17:54:19Z p_l: did CMU-CL got ported to amd64 in the end or not? 2017-04-29T17:55:15Z jackdaniel: yes, but only for freebsd afaik 2017-04-29T17:55:18Z pipping: [..] CMUCL currently only works with 32 bit addresses [..] Raymond Toy is thinking about how to approach this problem [..] -- http://cmucl.org/projects.html (okay, so that answers it) 2017-04-29T17:56:12Z jackdaniel: uhm, maybe I'm wrong then 2017-04-29T17:56:48Z megalography joined #lisp 2017-04-29T18:04:06Z krator44: too bad 'cause i was looking to checking out Hemlock 2017-04-29T18:04:33Z sz0 quit (Quit: Connection closed for inactivity) 2017-04-29T18:04:53Z daemoz quit (Remote host closed the connection) 2017-04-29T18:05:13Z daemoz joined #lisp 2017-04-29T18:05:43Z warweasle quit (Quit: rcirc on GNU Emacs 24.5.1) 2017-04-29T18:05:59Z pipping: krator44: well, there are binaries of cmucl. even though the ebuild might not work without any changes for you, building cmucl is really easy. so that shouldn't stop you. 2017-04-29T18:06:21Z beach: krator44: There is a "portable hemlock" that will work in other Common Lisp systems as well. 2017-04-29T18:06:36Z pipping: krator44: (so you can use the binary to build hemlock which I suppose is not shipped by default) 2017-04-29T18:07:06Z phoe: beach: where is it? 2017-04-29T18:08:01Z krator44: i think it is shipped 2017-04-29T18:08:16Z krator44: by default but it's hard to tell 2017-04-29T18:08:26Z krator44: let me try to build it again i think i have it 2017-04-29T18:09:17Z beach: krator44: Typing "portable hemlock" to Google, gave this link as the first answer: https://common-lisp.net/project/phemlock/ 2017-04-29T18:09:43Z beach: The fifth answer was this: https://github.com/bluelisp/hemlock 2017-04-29T18:11:06Z phoe: XachX: Why is https://github.com/bluelisp/hemlock not on Quicklisp? Have there been issues building it? 2017-04-29T18:11:54Z milanj quit (Quit: This computer has gone to sleep) 2017-04-29T18:14:00Z p_l: ... wasn't portable hemlock included in ql in the past? 2017-04-29T18:14:31Z phoe: oh wait, it's under :hemlock.qt 2017-04-29T18:14:34Z krator44: oh yea it built finally 2017-04-29T18:17:36Z scymtym joined #lisp 2017-04-29T18:20:22Z random-nick joined #lisp 2017-04-29T18:20:41Z random-nick: is the loop macro really "unlispy" as some people claim? 2017-04-29T18:21:24Z aeth: random-nick: Compare with DO and ITERATE 2017-04-29T18:21:31Z phoe: geez 2017-04-29T18:21:35Z phoe: hemlock is scary 2017-04-29T18:21:55Z phoe: random-nick: it's lispy enough to be useful despite having a very different feel to it 2017-04-29T18:22:15Z phoe: it's definitely a fun and useful sublanguage to learn while doing Common Lisp 2017-04-29T18:23:16Z phoe: "unlispiness" comes from the fact it's structured differently, meaning: with less parentheses and being more English-like 2017-04-29T18:23:31Z aeth: random-nick: LOOP doesn't use any parentheses except what you run in e.g. do or collect, and it relies heavily on keywords/symbols 2017-04-29T18:23:51Z aeth: So it's an embedded ALGOL-style language 2017-04-29T18:24:12Z phoe: (loop for x from -10 to 10 if (oddp x) do (print x) else collect x) 2017-04-29T18:24:38Z aeth: The only other embedded language in Lisp is afaik FORMAT, although another popular one is cl-pcre for regex 2017-04-29T18:25:13Z SAL9000: If I have a CLOS object, can I use it as a hash key, portably? 2017-04-29T18:25:20Z phoe: and esrap for parsing and optima for patternmatching - but both are pretty parenthesey and much more librarylike. 2017-04-29T18:25:23Z phoe: SAL9000: yes. 2017-04-29T18:25:29Z phoe: it'll be EQ only to itself. 2017-04-29T18:25:35Z phoe: EQ, EQL, EQUAL and EQUALP, actually. 2017-04-29T18:25:57Z SAL9000: That's fine! Here I had this complex mechanism for translating the CLOS objects to GENSYM symbols in a weak global hashtable... 2017-04-29T18:26:14Z phoe: Sounds like simplification for you. 2017-04-29T18:26:18Z SAL9000: Indeed. 2017-04-29T18:38:38Z krator44: heh hemlock is terrible 2017-04-29T18:38:56Z EvW joined #lisp 2017-04-29T18:40:52Z pmetzger joined #lisp 2017-04-29T18:43:07Z myrkraverk_ joined #lisp 2017-04-29T18:45:36Z myrkraverk quit (Ping timeout: 260 seconds) 2017-04-29T18:45:48Z myrkraverk_ is now known as myrkraverk 2017-04-29T18:47:09Z FreeBirdLjj joined #lisp 2017-04-29T18:47:26Z larme quit (Quit: WeeChat 1.6) 2017-04-29T18:48:09Z zulu_inuoe quit (Remote host closed the connection) 2017-04-29T18:48:45Z presiden joined #lisp 2017-04-29T18:50:16Z impulse quit (Ping timeout: 245 seconds) 2017-04-29T18:51:35Z defaultxr joined #lisp 2017-04-29T18:59:03Z hhdave joined #lisp 2017-04-29T19:00:27Z pmetzger_ joined #lisp 2017-04-29T19:00:28Z pmetzger quit (Read error: Connection reset by peer) 2017-04-29T19:03:40Z hhdave quit (Ping timeout: 255 seconds) 2017-04-29T19:04:53Z zulu_inuoe joined #lisp 2017-04-29T19:05:04Z pmetzger_ quit (Ping timeout: 246 seconds) 2017-04-29T19:05:18Z emaczen joined #lisp 2017-04-29T19:06:37Z emaczen: I wish to return a responseType of document from a hunchentoot:define-easy-handler form. I'm using (setf (content-type*) "document") and returning a string from the form. 2017-04-29T19:06:42Z ryxai quit (Read error: Connection reset by peer) 2017-04-29T19:06:44Z ryxai_ joined #lisp 2017-04-29T19:06:56Z emaczen: It keeps returning a string, do I have to create a "document" type and return that? 2017-04-29T19:08:49Z teggi quit (Quit: Leaving...) 2017-04-29T19:11:14Z emaczen: the documentation says that hunchentoot will handle the object creation automatcially 2017-04-29T19:12:50Z pmetzger joined #lisp 2017-04-29T19:15:27Z |3b|: emaczen: creation of what object? 2017-04-29T19:16:29Z |3b|: (and is "document" a valid contentType?) 2017-04-29T19:17:33Z pmetzger quit (Remote host closed the connection) 2017-04-29T19:19:47Z JuanDaugherty quit (Quit: Hibernate, reboot, exeunt, etc.) 2017-04-29T19:23:16Z barton_ quit (Ping timeout: 246 seconds) 2017-04-29T19:24:57Z emaczen: |3b|: The response object. 2017-04-29T19:25:23Z emaczen: |3b|: I was just looking at the MDN documentation for XMLHTTPRequest responseType 2017-04-29T19:26:46Z X-Scale quit (Ping timeout: 246 seconds) 2017-04-29T19:28:47Z emaczen: I wish to return HTML and it looks like according to XMLHTTPRequest.responseType, you can return a document object response of the HTML -- I'd much rather create the string necessary to create this document object with common-lisp on the server than messing around with parenscript 2017-04-29T19:28:50Z pmetzger joined #lisp 2017-04-29T19:29:36Z ebrasca joined #lisp 2017-04-29T19:32:30Z milanj joined #lisp 2017-04-29T19:36:49Z pmetzger quit (Remote host closed the connection) 2017-04-29T19:36:57Z |3b|: you just return text (or binary data) from the handler, and it is up to the browser to interpret according to the content-Type 2017-04-29T19:38:06Z |3b|: looks like XMLHTTPRequest.responseType is something the client should set 2017-04-29T19:38:18Z |3b|: which would affect how the browser interprets the data 2017-04-29T19:39:15Z jackdaniel: sd/win 5 2017-04-29T19:39:53Z |3b|: so you would probably just send normal "text/html" content-type, and set responseType to "document" telling browser to try to parse it into an HTML DOM instead of just giving you back raw text of the html 2017-04-29T19:40:44Z |3b|: (and send a string containing valid HTML as the body) 2017-04-29T19:46:24Z smoon quit (Quit: smoon) 2017-04-29T19:48:57Z smoon joined #lisp 2017-04-29T19:52:29Z pmetzger joined #lisp 2017-04-29T19:54:29Z pjb quit (Ping timeout: 252 seconds) 2017-04-29T19:57:13Z hhdave joined #lisp 2017-04-29T19:58:43Z jack_rabbit joined #lisp 2017-04-29T20:00:25Z larme joined #lisp 2017-04-29T20:01:27Z rpg quit (Quit: My MacBook has gone to sleep. ZZZzzz…) 2017-04-29T20:03:57Z pjb joined #lisp 2017-04-29T20:04:09Z pjb is now known as Guest70044 2017-04-29T20:04:12Z mgood7123 joined #lisp 2017-04-29T20:04:28Z trn quit (Ping timeout: 260 seconds) 2017-04-29T20:06:00Z Guest70044 is now known as pjb` 2017-04-29T20:06:10Z pjb` is now known as pjb 2017-04-29T20:09:20Z ryxai_ quit (Ping timeout: 252 seconds) 2017-04-29T20:10:14Z Pixel_Outlaw joined #lisp 2017-04-29T20:10:29Z mgood7123 quit (Quit: Leaving) 2017-04-29T20:11:16Z mgood7123 joined #lisp 2017-04-29T20:11:22Z milanj quit (Quit: This computer has gone to sleep) 2017-04-29T20:12:02Z milanj joined #lisp 2017-04-29T20:17:27Z Pixel_Outlaw: Hello all, perhaps you could help me. My speed slot in my mover class seems to have a name collision with "COMMON-LISP-USER". How do I need to edit my package to shadow it? https://github.com/RyanBurnside/shmup-test/blob/master/mover.lisp 2017-04-29T20:18:09Z Bike: rather, it's a CL symbol (for optimize declarations 2017-04-29T20:18:29Z Bike: just put (:shadow #:speed) in your defpackage 2017-04-29T20:18:52Z Pixel_Outlaw: Thanks Bike! I remember you being helpful from 2 years ago. :) 2017-04-29T20:19:19Z Bike: my curse 2017-04-29T20:20:33Z MONODA joined #lisp 2017-04-29T20:23:18Z |3b|: or rename the accessor, so you don't get confused when you start trying to optimze and get the wrong syumbol :) 2017-04-29T20:23:27Z ryxai joined #lisp 2017-04-29T20:25:44Z |3b|: also, i'd use names like (setf directionf) instead of set-directionf for those functions 2017-04-29T20:26:19Z |3b|: (setf direction) i mean 2017-04-29T20:26:47Z Pixel_Outlaw: Thanks |3b| I'm adapting to the CLOS still. 2017-04-29T20:27:10Z |3b|: and SETF is specified to return the new value, so your set-xf doesn't need to manually return (x object) 2017-04-29T20:28:20Z Pixel_Outlaw: Fixing now... 2017-04-29T20:29:20Z smoon quit (Quit: smoon) 2017-04-29T20:31:36Z |3b| also wouldn't bother specializing all those methods on NUMBER. You don't actually want all NUMBER types, and you would get an error from any other type when you tried to use it anyway (and not much worse error than you would get with the specialized methods) 2017-04-29T20:32:55Z trn joined #lisp 2017-04-29T20:33:31Z |3b| suspects the class you want is REAL if you do want to keep it (maybe FLOAT, but i like the convenience of being able to use 1 instead of 1.0, or 1/3 instead of 0.3333333 for API functions) 2017-04-29T20:33:53Z angavrilov quit (Remote host closed the connection) 2017-04-29T20:34:00Z varjag quit (Ping timeout: 240 seconds) 2017-04-29T20:34:04Z neoncontrails joined #lisp 2017-04-29T20:34:16Z phoe: How can I use drakma to download a file for me? 2017-04-29T20:34:20Z Pixel_Outlaw: |3b|, oh ok. mover was actually my first CLOS class I've been just working through Keene's book which leaves some questions. 2017-04-29T20:34:28Z manualcrank joined #lisp 2017-04-29T20:35:49Z practica` quit (Read error: Connection reset by peer) 2017-04-29T20:36:10Z practica` joined #lisp 2017-04-29T20:37:21Z whiteline_ joined #lisp 2017-04-29T20:37:24Z |3b|: though set-positionf is a bit harder to turn into (setf position) as written, would have to either pass it a list (or other composite type) of x,y or do extra work to make it accept multiple values 2017-04-29T20:38:39Z Pixel_Outlaw: Somebody else told me I could change it so setf'ing the place would call %mover-recalculate automagically. :) 2017-04-29T20:38:54Z Pixel_Outlaw: Then I could not need all the set-* stuff. 2017-04-29T20:39:11Z |3b|: right, that's what i was suggesting 2017-04-29T20:39:22Z whiteline quit (Ping timeout: 264 seconds) 2017-04-29T20:40:07Z |3b|: just replace set-directionf with (setf direction) in the defmethod, and (setf (direction mover-instance) 3) would call %mover-recalculate for you 2017-04-29T20:40:20Z Petit_Dejeuner: Pixel_Outlaw: (defmethod (setf positionf) :after (value ((obj obj))) ...) or something, right? 2017-04-29T20:40:35Z |3b|: yeah, i guess that would be even better way to do it 2017-04-29T20:40:47Z Pixel_Outlaw: ok 2017-04-29T20:41:17Z MONODA quit (Remote host closed the connection) 2017-04-29T20:41:29Z orivej joined #lisp 2017-04-29T20:41:30Z grublet quit (Read error: Connection reset by peer) 2017-04-29T20:41:40Z |3b| also forgot about changing argument order, so would need to fix that in addition to changing names, since (setf foo) functions take new value as first argument 2017-04-29T20:42:41Z pjb quit (Ping timeout: 258 seconds) 2017-04-29T20:43:02Z |3b|: so change :reader direction to :accessor direction, and add (defmethod (setf direction) :after (val (object mover)) (%mover-recalculate object)) 2017-04-29T20:43:35Z Pixel_Outlaw: That's fairly clean. Thanks. 2017-04-29T20:43:41Z phoe: Found it. 2017-04-29T20:43:43Z |3b|: also, %mover-recalculate could just be %recalculate, since it is specialized on the class already 2017-04-29T20:45:01Z Pixel_Outlaw: Right, yeah. 2017-04-29T20:45:25Z Pixel_Outlaw: OK. Looks like I have enough changes to adjust for now. I'll be back if I need additional help. Thanks all! 2017-04-29T20:47:02Z presiden quit (Remote host closed the connection) 2017-04-29T20:48:29Z Pixel_Outlaw left #lisp 2017-04-29T20:50:19Z drmeister: If I macroexpand a macro that sticks symbols like #:xxx into the expansion. I can't compile that expansion directly because every #:xxx is a different symbol. I have to edit the code by hand before compiling it. Am I doing something wrong? 2017-04-29T20:51:24Z phoe: drmeister: not really 2017-04-29T20:51:33Z phoe: drmeister: 2017-04-29T20:51:37Z phoe: clhs *print-gensym* 2017-04-29T20:51:37Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/v_pr_gen.htm 2017-04-29T20:51:45Z phoe: bind this variable, so the #: prefix is not printed 2017-04-29T20:51:51Z phoe: then you will end up with variables like G738 2017-04-29T20:52:00Z phoe: but it will be G738 everywhere, so the code should compile then. 2017-04-29T20:52:56Z phoe: the other way is to replace all occurrences of a given gensym with ## #= forms, like, (let ((foo #1=(gensym))) (print #1#)) 2017-04-29T20:53:15Z phoe: maybe your code walker is able to do that 2017-04-29T20:53:32Z drmeister: Thank you very much! 2017-04-29T20:54:39Z phoe: drmeister: no problem 2017-04-29T20:54:50Z grublet joined #lisp 2017-04-29T20:54:55Z phoe: drmeister: feel free to award me some #lisp experience points 2017-04-29T20:55:18Z gingerale quit (Remote host closed the connection) 2017-04-29T20:57:11Z EvW quit (Remote host closed the connection) 2017-04-29T20:57:50Z pmetzger quit (Remote host closed the connection) 2017-04-29T20:58:04Z rippa quit (Quit: {#`%${%&`+'${`%&NO CARRIER) 2017-04-29T20:58:20Z aeth awards phoe -97 experience points. 2017-04-29T20:59:17Z EvW joined #lisp 2017-04-29T20:59:19Z aeth awards phoe 123'); DROP TABLE Experience;-- 2017-04-29T21:01:17Z brendyn joined #lisp 2017-04-29T21:03:09Z pmetzger joined #lisp 2017-04-29T21:03:31Z phoe: aeth: you work in QA, don'tcha 2017-04-29T21:04:05Z shifty joined #lisp 2017-04-29T21:05:58Z aeth: phoe: testing everything is important 2017-04-29T21:07:04Z pjb joined #lisp 2017-04-29T21:07:17Z pjb is now known as Guest40165 2017-04-29T21:08:36Z _death: I'm sure you meant to award #.(phoe:create-server :port #x1337) 2017-04-29T21:09:11Z phoe: _death: that's pretty evil, you know 2017-04-29T21:09:35Z Guest40165 is now known as pjb` 2017-04-29T21:09:44Z pjb` is now known as pjb 2017-04-29T21:11:40Z hhdave quit (Ping timeout: 260 seconds) 2017-04-29T21:12:11Z hhdave joined #lisp 2017-04-29T21:12:56Z krator44: there needs to be a space after "DROP TABLE Experience;" 2017-04-29T21:13:56Z krator44: or else it'll only work on some database servers 2017-04-29T21:14:16Z attila_lendvai joined #lisp 2017-04-29T21:14:39Z _death: phoe: Lisp's wise monkeys are READ no evil, EVAL no evil, and gigamonkey 2017-04-29T21:14:47Z phoe: _death: xD 2017-04-29T21:14:51Z phoe: I actually laughed 2017-04-29T21:16:25Z aeth: krator44: Submit a pull request to https://www.xkcd.com/327/ 2017-04-29T21:18:22Z whiteline_ quit (Ping timeout: 264 seconds) 2017-04-29T21:20:27Z whiteline joined #lisp 2017-04-29T21:20:34Z otjura quit (Quit: Konversation terminated!) 2017-04-29T21:23:11Z vlatkoB quit (Remote host closed the connection) 2017-04-29T21:32:18Z varjag joined #lisp 2017-04-29T21:42:56Z shka_ quit (Quit: Konversation terminated!) 2017-04-29T21:48:02Z pve quit (Ping timeout: 260 seconds) 2017-04-29T21:51:11Z MONODA joined #lisp 2017-04-29T21:51:39Z MONODA: any idea where i can find some more detailed info on sbcl threads? the official documentation doesn't tell me much other than how to use the API 2017-04-29T21:51:57Z MONODA: more specifically, I'm trying to figure out if the threads are green threads or kernel leve 2017-04-29T21:52:12Z _death: they are native threads 2017-04-29T21:54:57Z hhdave quit (Read error: Connection reset by peer) 2017-04-29T21:56:02Z Jesin quit (Quit: Leaving) 2017-04-29T21:56:32Z hhdave joined #lisp 2017-04-29T22:03:40Z MrWoohoo quit (Ping timeout: 240 seconds) 2017-04-29T22:09:59Z shifty quit (Ping timeout: 240 seconds) 2017-04-29T22:12:00Z ryanwatkins joined #lisp 2017-04-29T22:14:04Z Suzuran quit (Ping timeout: 246 seconds) 2017-04-29T22:20:21Z Suzuran joined #lisp 2017-04-29T22:25:36Z hhdave quit (Read error: Connection reset by peer) 2017-04-29T22:25:54Z hhdave joined #lisp 2017-04-29T22:33:32Z mejja joined #lisp 2017-04-29T22:41:30Z hhdave quit (Read error: Connection reset by peer) 2017-04-29T22:42:12Z nowhereman quit (Ping timeout: 260 seconds) 2017-04-29T22:43:17Z phoe: I have a pathname relative to the home directory, "~/foo/bar". Is there any way to turn it into an absolute pathname? 2017-04-29T22:43:19Z random-nick quit (Remote host closed the connection) 2017-04-29T22:44:24Z phoe: MONODA: thanks 2017-04-29T22:44:29Z p_l: phoe: write code to replace ~ with current value of $HOME 2017-04-29T22:44:59Z p_l: (with proper quoting et al) 2017-04-29T22:45:04Z phoe: p_l: TRUENAME did it 2017-04-29T22:45:07Z phoe: clhs truename 2017-04-29T22:45:07Z specbot: http://www.lispworks.com/reference/HyperSpec/Body/f_tn.htm 2017-04-29T22:45:10Z p_l: phoe: lucky you 2017-04-29T22:45:30Z phoe: p_l: yes 2017-04-29T22:45:37Z phoe: it's rare to get this lucky with pathnames 2017-04-29T22:45:45Z p_l: phoe: ~ is not part of standard - Unix standard, that is. TRUENAME will work if the lisp implementation already handles it for your convenience (it's a shell cantrip) 2017-04-29T22:46:00Z phoe: I know 2017-04-29T22:46:05Z attila_lendvai quit (Ping timeout: 252 seconds) 2017-04-29T22:46:11Z hhdave joined #lisp 2017-04-29T22:46:17Z p_l: good :3 2017-04-29T22:46:25Z phoe: :3 2017-04-29T22:46:33Z phoe evaluates p_l 2017-04-29T22:46:41Z |3b|: #P"~/foo/" might also work on implementations that expand ~ 2017-04-29T22:47:04Z p_l meanwhile lacks Symbolics external format for character encoding 2017-04-29T22:47:47Z phoe: |3b|: on SBCL it just returns #P"~/foo/" 2017-04-29T22:49:03Z varjag: phoe: it expands here 2017-04-29T22:49:18Z varjag: or wait that was ccl prompt 2017-04-29T22:49:19Z |3b|: right, and #P"~/foo" is an absolute pathname on sbcl 2017-04-29T22:49:41Z |3b|: try truename or directory on it 2017-04-29T22:51:35Z |3b|: (and "~/foo/bar" is an absolute namestring (on some implementations), not a relative pathname) 2017-04-29T22:53:49Z EvW quit (Ping timeout: 260 seconds) 2017-04-29T22:56:22Z |3b|: on sbcl #P"~/" reads as a pathname object with directory (:absolute :home) which prints as #P"~/" 2017-04-29T22:57:22Z practica` quit (Read error: Connection reset by peer) 2017-04-29T22:57:57Z neuri8 quit (Ping timeout: 240 seconds) 2017-04-29T22:58:23Z practica` joined #lisp 2017-04-29T22:58:27Z knobo quit (Ping timeout: 240 seconds) 2017-04-29T22:59:27Z thijso quit (Ping timeout: 240 seconds) 2017-04-29T23:00:16Z neuri8 joined #lisp 2017-04-29T23:00:30Z knobo joined #lisp 2017-04-29T23:04:36Z ryxai quit (Ping timeout: 260 seconds) 2017-04-29T23:05:19Z LiamH joined #lisp 2017-04-29T23:08:35Z p9s joined #lisp 2017-04-29T23:09:22Z EvW joined #lisp 2017-04-29T23:09:44Z p9s quit (Remote host closed the connection) 2017-04-29T23:09:56Z thijso joined #lisp 2017-04-29T23:10:12Z p9s joined #lisp 2017-04-29T23:11:25Z gigetoo_ joined #lisp 2017-04-29T23:13:56Z grublet quit (Ping timeout: 260 seconds) 2017-04-29T23:14:06Z gigetoo quit (Ping timeout: 258 seconds) 2017-04-29T23:14:10Z varjag quit (Ping timeout: 240 seconds) 2017-04-29T23:14:13Z gigetoo_ is now known as gigetoo 2017-04-29T23:14:52Z p9s quit (Ping timeout: 260 seconds) 2017-04-29T23:16:53Z mishoo quit (Ping timeout: 252 seconds) 2017-04-29T23:18:22Z brandonz joined #lisp 2017-04-29T23:20:00Z Karl_Dscc quit (Remote host closed the connection) 2017-04-29T23:20:00Z jack_rabbit quit (Ping timeout: 260 seconds) 2017-04-29T23:23:54Z pmetzger quit (Remote host closed the connection) 2017-04-29T23:24:22Z segmond quit (Ping timeout: 240 seconds) 2017-04-29T23:25:54Z hhdave quit (Read error: Connection reset by peer) 2017-04-29T23:26:59Z hhdave joined #lisp 2017-04-29T23:29:12Z pmetzger joined #lisp 2017-04-29T23:30:12Z hhdave_ joined #lisp 2017-04-29T23:31:28Z hhdave quit (Ping timeout: 240 seconds) 2017-04-29T23:31:28Z hhdave_ is now known as hhdave 2017-04-29T23:34:39Z EvW quit (Ping timeout: 260 seconds) 2017-04-29T23:36:41Z segmond joined #lisp 2017-04-29T23:40:41Z hhdave quit (Quit: hhdave) 2017-04-29T23:44:38Z ebrasca: is there in common lisp set-builder notation? 2017-04-29T23:45:48Z phoe: set-builder? 2017-04-29T23:45:49Z phoe: what do you mean? 2017-04-29T23:48:02Z Bike: something like list comprehension 2017-04-29T23:48:23Z jack_rabbit joined #lisp 2017-04-29T23:48:51Z pmetzger: set builder notation is the mathematical notation used to describe a set in terms of predicates. 2017-04-29T23:48:54Z ebrasca: phoe: it is from math. 2017-04-29T23:49:46Z pmetzger: in english, one might render such notation as "the set of all x in the natural numbers, where x is divisible by seven" or some such. 2017-04-29T23:50:11Z phoe: got it 2017-04-29T23:50:30Z pmetzger: and the answer is, common lisp has no such notation in the standard, but you can build such tools fairly easily. 2017-04-29T23:51:25Z phoe: actually, I wonder if types are good enough for that 2017-04-29T23:51:53Z phoe: since for sets, your operations are membership and intersection/sum/etcetera 2017-04-29T23:52:07Z pmetzger: I don't think they are, but I would have to think about it a bit. 2017-04-29T23:52:34Z phoe: pmetzger: they have SATISFIES for the worst cases 2017-04-29T23:54:06Z pmetzger: in any case, it seems like a bit of an abuse of what they're for. 2017-04-29T23:54:27Z Bike: using types as sets is not very convenient. 2017-04-29T23:54:31Z pmetzger: although in some ways it isn't. I mean, type theories replace sets with types after all. 2017-04-29T23:54:40Z pmetzger: (in some ways it isn't an abuse...) 2017-04-29T23:54:55Z pmetzger: but I think Bike has it correct, it wouldn't be very convenient. 2017-04-29T23:59:08Z azzamsa joined #lisp