2015-02-25T00:01:04Z vaporatorius quit (Remote host closed the connection) 2015-02-25T00:01:23Z Karl_Dscc quit (Remote host closed the connection) 2015-02-25T00:05:24Z Adlai` joined #lisp 2015-02-25T00:08:15Z Adlai quit (Ping timeout: 256 seconds) 2015-02-25T00:13:06Z vdamewood joined #lisp 2015-02-25T00:14:31Z linux_dream joined #lisp 2015-02-25T00:14:50Z Adlai` quit (Ping timeout: 252 seconds) 2015-02-25T00:15:38Z dim: around 2015-02-25T00:15:45Z dim: wrong chan. sorry 2015-02-25T00:16:11Z Vutral quit (Ping timeout: 256 seconds) 2015-02-25T00:16:56Z Adlai` joined #lisp 2015-02-25T00:17:33Z nightfly quit (Quit: WeeChat 0.4.3) 2015-02-25T00:18:38Z nightfly joined #lisp 2015-02-25T00:22:50Z innertracks quit (Ping timeout: 256 seconds) 2015-02-25T00:24:24Z dafunktion quit 2015-02-25T00:27:30Z Vutral joined #lisp 2015-02-25T00:28:02Z heurist quit (Ping timeout: 252 seconds) 2015-02-25T00:29:24Z heurist joined #lisp 2015-02-25T00:34:03Z robot-beethoven joined #lisp 2015-02-25T00:34:19Z harish_ quit (Ping timeout: 255 seconds) 2015-02-25T00:34:37Z Vutral quit (Excess Flood) 2015-02-25T00:44:01Z bjorkintosh quit (Ping timeout: 265 seconds) 2015-02-25T00:44:32Z rebelshrug joined #lisp 2015-02-25T00:45:57Z Xach left #lisp 2015-02-25T00:46:28Z Vutral joined #lisp 2015-02-25T00:48:09Z bjorkintosh joined #lisp 2015-02-25T00:49:49Z k-dawg joined #lisp 2015-02-25T00:50:31Z harish_ joined #lisp 2015-02-25T00:51:03Z bjorkintosh quit (Max SendQ exceeded) 2015-02-25T00:54:02Z resttime quit (Ping timeout: 245 seconds) 2015-02-25T00:54:43Z egp__ quit (Ping timeout: 256 seconds) 2015-02-25T00:55:17Z egp_ quit (Ping timeout: 256 seconds) 2015-02-25T00:57:22Z resttime joined #lisp 2015-02-25T00:57:58Z harish_ quit (Ping timeout: 256 seconds) 2015-02-25T01:04:58Z Vutral quit (Excess Flood) 2015-02-25T01:04:59Z gigetoo quit (Ping timeout: 250 seconds) 2015-02-25T01:05:01Z ASau` joined #lisp 2015-02-25T01:05:19Z wooden joined #lisp 2015-02-25T01:05:26Z JuanDaugherty joined #lisp 2015-02-25T01:06:25Z nydel quit (Ping timeout: 264 seconds) 2015-02-25T01:06:33Z nydel joined #lisp 2015-02-25T01:07:29Z vhost- quit (Ping timeout: 256 seconds) 2015-02-25T01:07:29Z housel quit (Ping timeout: 256 seconds) 2015-02-25T01:07:48Z egp_ joined #lisp 2015-02-25T01:08:04Z Petit_Dejeuner joined #lisp 2015-02-25T01:08:35Z ASau quit (Remote host closed the connection) 2015-02-25T01:08:36Z axion quit (Ping timeout: 264 seconds) 2015-02-25T01:08:46Z Mon_Ouie quit (Ping timeout: 256 seconds) 2015-02-25T01:08:46Z egp__ joined #lisp 2015-02-25T01:09:10Z jleija joined #lisp 2015-02-25T01:09:33Z axion joined #lisp 2015-02-25T01:10:15Z mburke_ joined #lisp 2015-02-25T01:12:15Z gigetoo joined #lisp 2015-02-25T01:13:22Z froggey_ joined #lisp 2015-02-25T01:14:54Z resttime_ joined #lisp 2015-02-25T01:15:00Z zymurgy1 joined #lisp 2015-02-25T01:16:52Z mburke quit (Ping timeout: 256 seconds) 2015-02-25T01:16:54Z White_Flame joined #lisp 2015-02-25T01:16:54Z froggey quit (Ping timeout: 256 seconds) 2015-02-25T01:16:54Z housel joined #lisp 2015-02-25T01:16:54Z rick-monster quit (*.net *.split) 2015-02-25T01:16:54Z sfa quit (*.net *.split) 2015-02-25T01:16:54Z spacebat quit (*.net *.split) 2015-02-25T01:16:54Z mtd quit (*.net *.split) 2015-02-25T01:16:54Z snafuchs quit (*.net *.split) 2015-02-25T01:16:54Z abbe quit (*.net *.split) 2015-02-25T01:16:54Z stopbyte quit (*.net *.split) 2015-02-25T01:16:54Z whartung quit (*.net *.split) 2015-02-25T01:16:54Z sellout quit (*.net *.split) 2015-02-25T01:16:54Z flip214 quit (*.net *.split) 2015-02-25T01:16:54Z girrig quit (*.net *.split) 2015-02-25T01:16:54Z zymurgy quit (*.net *.split) 2015-02-25T01:16:54Z finnrobi quit (*.net *.split) 2015-02-25T01:16:54Z tkd quit (*.net *.split) 2015-02-25T01:18:10Z resttime quit (Ping timeout: 256 seconds) 2015-02-25T01:19:14Z ASau` is now known as ASau 2015-02-25T01:19:38Z grantix quit (Remote host closed the connection) 2015-02-25T01:19:44Z Vutral joined #lisp 2015-02-25T01:19:50Z Vutral quit (Excess Flood) 2015-02-25T01:20:02Z Mon_Ouie joined #lisp 2015-02-25T01:20:22Z rick-monster joined #lisp 2015-02-25T01:20:23Z sfa joined #lisp 2015-02-25T01:20:23Z spacebat joined #lisp 2015-02-25T01:20:23Z mtd joined #lisp 2015-02-25T01:20:23Z snafuchs joined #lisp 2015-02-25T01:20:23Z abbe joined #lisp 2015-02-25T01:20:23Z stopbyte joined #lisp 2015-02-25T01:20:23Z whartung joined #lisp 2015-02-25T01:20:23Z sellout joined #lisp 2015-02-25T01:20:23Z flip214 joined #lisp 2015-02-25T01:20:23Z girrig joined #lisp 2015-02-25T01:20:23Z finnrobi joined #lisp 2015-02-25T01:20:23Z tkd joined #lisp 2015-02-25T01:21:28Z k-dawg quit (Quit: This computer has gone to sleep) 2015-02-25T01:27:18Z grantix joined #lisp 2015-02-25T01:28:38Z housel` joined #lisp 2015-02-25T01:34:39Z vhost- joined #lisp 2015-02-25T01:35:25Z housel quit (*.net *.split) 2015-02-25T01:35:25Z egp__ quit (*.net *.split) 2015-02-25T01:35:25Z kcj quit (*.net *.split) 2015-02-25T01:35:37Z mood quit (*.net *.split) 2015-02-25T01:35:37Z wemeetagain quit (*.net *.split) 2015-02-25T01:35:37Z aksatac quit (*.net *.split) 2015-02-25T01:35:37Z emlow quit (*.net *.split) 2015-02-25T01:35:37Z samebchase quit (*.net *.split) 2015-02-25T01:35:37Z joneshf-laptop quit (*.net *.split) 2015-02-25T01:35:37Z ecraven quit (*.net *.split) 2015-02-25T01:35:37Z reb quit (*.net *.split) 2015-02-25T01:35:37Z dan64 quit (*.net *.split) 2015-02-25T01:35:37Z tokenrove quit (*.net *.split) 2015-02-25T01:35:37Z Bike quit (*.net *.split) 2015-02-25T01:35:37Z ineiros quit (*.net *.split) 2015-02-25T01:35:37Z p_l quit (*.net *.split) 2015-02-25T01:35:37Z kbtr quit (*.net *.split) 2015-02-25T01:35:37Z ozzloy quit (*.net *.split) 2015-02-25T01:35:37Z moomin-aba_ quit (*.net *.split) 2015-02-25T01:35:37Z White_Flame quit (*.net *.split) 2015-02-25T01:35:37Z heurist quit (*.net *.split) 2015-02-25T01:35:37Z pierre1_ quit (*.net *.split) 2015-02-25T01:35:37Z hiyosi quit (*.net *.split) 2015-02-25T01:35:37Z nell quit (*.net *.split) 2015-02-25T01:35:37Z PaulCapestany quit (*.net *.split) 2015-02-25T01:35:37Z urandom__ quit (*.net *.split) 2015-02-25T01:35:37Z grantix- quit (*.net *.split) 2015-02-25T01:35:37Z psy_ quit (*.net *.split) 2015-02-25T01:35:37Z rotty quit (*.net *.split) 2015-02-25T01:35:37Z cross quit (*.net *.split) 2015-02-25T01:35:37Z dmiles_afk quit (*.net *.split) 2015-02-25T01:35:37Z Odin- quit (*.net *.split) 2015-02-25T01:35:37Z j_king_ quit (*.net *.split) 2015-02-25T01:35:37Z yauz_2 quit (*.net *.split) 2015-02-25T01:35:37Z replcated_ quit (*.net *.split) 2015-02-25T01:35:37Z theBlackDragon quit (*.net *.split) 2015-02-25T01:35:37Z fikusz quit (*.net *.split) 2015-02-25T01:35:37Z diginet quit (*.net *.split) 2015-02-25T01:35:37Z rvchangue_ quit (*.net *.split) 2015-02-25T01:35:37Z H4ns quit (*.net *.split) 2015-02-25T01:35:37Z dilated_dinosaur quit (*.net *.split) 2015-02-25T01:35:37Z ivan\ quit (*.net *.split) 2015-02-25T01:35:37Z nisstyre quit (*.net *.split) 2015-02-25T01:35:37Z lieven quit (*.net *.split) 2015-02-25T01:35:37Z loke quit (*.net *.split) 2015-02-25T01:35:37Z hratsimihah quit (*.net *.split) 2015-02-25T01:35:37Z galdor quit (*.net *.split) 2015-02-25T01:35:37Z hyoyoung quit (*.net *.split) 2015-02-25T01:35:37Z nitrix quit (*.net *.split) 2015-02-25T01:35:37Z hellome quit (*.net *.split) 2015-02-25T01:35:37Z kyl` quit (*.net *.split) 2015-02-25T01:35:37Z tstc quit (*.net *.split) 2015-02-25T01:35:37Z brandonz_ quit (*.net *.split) 2015-02-25T01:35:37Z redline6561 quit (*.net *.split) 2015-02-25T01:35:37Z viaken quit (*.net *.split) 2015-02-25T01:35:37Z xorpse quit (*.net *.split) 2015-02-25T01:35:37Z micro quit (*.net *.split) 2015-02-25T01:35:37Z nitro_idiot quit (*.net *.split) 2015-02-25T01:35:37Z phf quit (*.net *.split) 2015-02-25T01:35:37Z p_l|backup quit (*.net *.split) 2015-02-25T01:35:37Z Neptu quit (*.net *.split) 2015-02-25T01:35:37Z renard_ quit (*.net *.split) 2015-02-25T01:36:56Z AntiSpamMeta quit (Read error: Connection reset by peer) 2015-02-25T01:37:10Z AntiSpamMeta joined #lisp 2015-02-25T01:38:13Z emlow joined #lisp 2015-02-25T01:39:30Z White_Flame joined #lisp 2015-02-25T01:39:30Z egp__ joined #lisp 2015-02-25T01:39:30Z heurist joined #lisp 2015-02-25T01:39:30Z kcj joined #lisp 2015-02-25T01:39:30Z pierre1_ joined #lisp 2015-02-25T01:39:30Z hiyosi joined #lisp 2015-02-25T01:39:30Z nell joined #lisp 2015-02-25T01:39:30Z PaulCapestany joined #lisp 2015-02-25T01:39:30Z urandom__ joined #lisp 2015-02-25T01:39:30Z mood joined #lisp 2015-02-25T01:39:30Z psy_ joined #lisp 2015-02-25T01:39:30Z wemeetagain joined #lisp 2015-02-25T01:39:30Z rotty joined #lisp 2015-02-25T01:39:30Z aksatac joined #lisp 2015-02-25T01:39:30Z samebchase joined #lisp 2015-02-25T01:39:30Z cross joined #lisp 2015-02-25T01:39:30Z joneshf-laptop joined #lisp 2015-02-25T01:39:30Z ecraven joined #lisp 2015-02-25T01:39:30Z dmiles_afk joined #lisp 2015-02-25T01:39:30Z reb joined #lisp 2015-02-25T01:39:30Z Odin- joined #lisp 2015-02-25T01:39:30Z dan64 joined #lisp 2015-02-25T01:39:30Z tokenrove joined #lisp 2015-02-25T01:39:30Z j_king_ joined #lisp 2015-02-25T01:39:30Z yauz_2 joined #lisp 2015-02-25T01:39:30Z replcated_ joined #lisp 2015-02-25T01:39:30Z theBlackDragon joined #lisp 2015-02-25T01:39:30Z fikusz joined #lisp 2015-02-25T01:39:30Z Bike joined #lisp 2015-02-25T01:39:30Z diginet joined #lisp 2015-02-25T01:39:30Z rvchangue_ joined #lisp 2015-02-25T01:39:30Z H4ns joined #lisp 2015-02-25T01:39:30Z dilated_dinosaur joined #lisp 2015-02-25T01:39:30Z ineiros joined #lisp 2015-02-25T01:39:30Z p_l joined #lisp 2015-02-25T01:39:30Z ivan\ joined #lisp 2015-02-25T01:39:30Z lieven joined #lisp 2015-02-25T01:39:30Z loke joined #lisp 2015-02-25T01:39:30Z kbtr joined #lisp 2015-02-25T01:39:30Z ozzloy joined #lisp 2015-02-25T01:39:30Z hratsimihah joined #lisp 2015-02-25T01:39:30Z moomin-aba_ joined #lisp 2015-02-25T01:39:30Z nitrix joined #lisp 2015-02-25T01:39:30Z galdor joined #lisp 2015-02-25T01:39:30Z hyoyoung joined #lisp 2015-02-25T01:39:33Z hellome joined #lisp 2015-02-25T01:39:33Z kyl` joined #lisp 2015-02-25T01:39:33Z tstc joined #lisp 2015-02-25T01:39:33Z phf joined #lisp 2015-02-25T01:39:33Z brandonz_ joined #lisp 2015-02-25T01:39:33Z redline6561 joined #lisp 2015-02-25T01:39:33Z viaken joined #lisp 2015-02-25T01:39:33Z xorpse joined #lisp 2015-02-25T01:39:33Z micro joined #lisp 2015-02-25T01:39:33Z nitro_idiot joined #lisp 2015-02-25T01:39:33Z p_l|backup joined #lisp 2015-02-25T01:39:33Z renard_ joined #lisp 2015-02-25T01:39:33Z Neptu joined #lisp 2015-02-25T01:39:34Z Bicyclidine quit (Ping timeout: 268 seconds) 2015-02-25T01:39:58Z Vutral joined #lisp 2015-02-25T01:40:16Z egp__ quit (*.net *.split) 2015-02-25T01:40:22Z kcj quit (*.net *.split) 2015-02-25T01:40:23Z mood quit (*.net *.split) 2015-02-25T01:40:23Z wemeetagain quit (*.net *.split) 2015-02-25T01:40:23Z aksatac quit (*.net *.split) 2015-02-25T01:40:23Z samebchase quit (*.net *.split) 2015-02-25T01:40:23Z joneshf-laptop quit (*.net *.split) 2015-02-25T01:40:23Z ecraven quit (*.net *.split) 2015-02-25T01:40:23Z reb quit (*.net *.split) 2015-02-25T01:40:23Z dan64 quit (*.net *.split) 2015-02-25T01:40:23Z tokenrove quit (*.net *.split) 2015-02-25T01:40:23Z Bike quit (*.net *.split) 2015-02-25T01:40:23Z ineiros quit (*.net *.split) 2015-02-25T01:40:23Z p_l quit (*.net *.split) 2015-02-25T01:40:23Z kbtr quit (*.net *.split) 2015-02-25T01:40:23Z ozzloy quit (*.net *.split) 2015-02-25T01:40:23Z moomin-aba_ quit (*.net *.split) 2015-02-25T01:40:23Z White_Flame quit (*.net *.split) 2015-02-25T01:40:23Z heurist quit (*.net *.split) 2015-02-25T01:40:23Z pierre1_ quit (*.net *.split) 2015-02-25T01:40:23Z hiyosi quit (*.net *.split) 2015-02-25T01:40:23Z nell quit (*.net *.split) 2015-02-25T01:40:23Z PaulCapestany quit (*.net *.split) 2015-02-25T01:40:23Z urandom__ quit (*.net *.split) 2015-02-25T01:40:23Z psy_ quit (*.net *.split) 2015-02-25T01:40:23Z rotty quit (*.net *.split) 2015-02-25T01:40:23Z cross quit (*.net *.split) 2015-02-25T01:40:23Z dmiles_afk quit (*.net *.split) 2015-02-25T01:40:23Z Odin- quit (*.net *.split) 2015-02-25T01:40:23Z j_king_ quit (*.net *.split) 2015-02-25T01:40:23Z yauz_2 quit (*.net *.split) 2015-02-25T01:40:23Z replcated_ quit (*.net *.split) 2015-02-25T01:40:23Z theBlackDragon quit (*.net *.split) 2015-02-25T01:40:23Z fikusz quit (*.net *.split) 2015-02-25T01:40:23Z diginet quit (*.net *.split) 2015-02-25T01:40:23Z rvchangue_ quit (*.net *.split) 2015-02-25T01:40:23Z H4ns quit (*.net *.split) 2015-02-25T01:40:23Z dilated_dinosaur quit (*.net *.split) 2015-02-25T01:40:23Z ivan\ quit (*.net *.split) 2015-02-25T01:40:23Z lieven quit (*.net *.split) 2015-02-25T01:40:23Z loke quit (*.net *.split) 2015-02-25T01:40:23Z hratsimihah quit (*.net *.split) 2015-02-25T01:40:23Z galdor quit (*.net *.split) 2015-02-25T01:40:23Z hyoyoung quit (*.net *.split) 2015-02-25T01:40:23Z nitrix quit (*.net *.split) 2015-02-25T01:40:23Z hellome quit (*.net *.split) 2015-02-25T01:40:23Z kyl` quit (*.net *.split) 2015-02-25T01:40:23Z tstc quit (*.net *.split) 2015-02-25T01:40:23Z brandonz_ quit (*.net *.split) 2015-02-25T01:40:23Z redline6561 quit (*.net *.split) 2015-02-25T01:40:23Z viaken quit (*.net *.split) 2015-02-25T01:40:23Z xorpse quit (*.net *.split) 2015-02-25T01:40:23Z micro quit (*.net *.split) 2015-02-25T01:40:23Z nitro_idiot quit (*.net *.split) 2015-02-25T01:40:23Z phf quit (*.net *.split) 2015-02-25T01:40:23Z p_l|backup quit (*.net *.split) 2015-02-25T01:40:23Z Neptu quit (*.net *.split) 2015-02-25T01:40:23Z renard_ quit (*.net *.split) 2015-02-25T01:40:45Z cpc26 quit (*.net *.split) 2015-02-25T01:40:45Z Longlius quit (*.net *.split) 2015-02-25T01:40:45Z lifenoodles quit (*.net *.split) 2015-02-25T01:40:45Z lowryder quit (*.net *.split) 2015-02-25T01:40:45Z apathor quit (*.net *.split) 2015-02-25T01:40:45Z billstclair quit (*.net *.split) 2015-02-25T01:40:45Z oGMo quit (*.net *.split) 2015-02-25T01:40:58Z AntiSpamMeta quit (Read error: Connection reset by peer) 2015-02-25T01:41:10Z AntiSpamMeta joined #lisp 2015-02-25T01:41:38Z White_Flame joined #lisp 2015-02-25T01:41:38Z egp__ joined #lisp 2015-02-25T01:41:38Z heurist joined #lisp 2015-02-25T01:41:38Z kcj joined #lisp 2015-02-25T01:41:38Z pierre1_ joined #lisp 2015-02-25T01:41:38Z hiyosi joined #lisp 2015-02-25T01:41:38Z nell joined #lisp 2015-02-25T01:41:38Z PaulCapestany joined #lisp 2015-02-25T01:41:38Z urandom__ joined #lisp 2015-02-25T01:41:38Z mood joined #lisp 2015-02-25T01:41:38Z psy_ joined #lisp 2015-02-25T01:41:38Z wemeetagain joined #lisp 2015-02-25T01:41:38Z rotty joined #lisp 2015-02-25T01:41:38Z aksatac joined #lisp 2015-02-25T01:41:38Z samebchase joined #lisp 2015-02-25T01:41:38Z cross joined #lisp 2015-02-25T01:41:38Z joneshf-laptop joined #lisp 2015-02-25T01:41:38Z ecraven joined #lisp 2015-02-25T01:41:38Z dmiles_afk joined #lisp 2015-02-25T01:41:38Z reb joined #lisp 2015-02-25T01:41:38Z Odin- joined #lisp 2015-02-25T01:41:38Z dan64 joined #lisp 2015-02-25T01:41:38Z tokenrove joined #lisp 2015-02-25T01:41:38Z j_king_ joined #lisp 2015-02-25T01:41:38Z yauz_2 joined #lisp 2015-02-25T01:41:38Z replcated_ joined #lisp 2015-02-25T01:41:38Z theBlackDragon joined #lisp 2015-02-25T01:41:39Z fikusz joined #lisp 2015-02-25T01:41:39Z Bike joined #lisp 2015-02-25T01:41:39Z diginet joined #lisp 2015-02-25T01:41:39Z rvchangue_ joined #lisp 2015-02-25T01:41:39Z H4ns joined #lisp 2015-02-25T01:41:39Z dilated_dinosaur joined #lisp 2015-02-25T01:41:39Z ineiros joined #lisp 2015-02-25T01:41:39Z p_l joined #lisp 2015-02-25T01:41:39Z ivan\ joined #lisp 2015-02-25T01:41:39Z lieven joined #lisp 2015-02-25T01:41:39Z loke joined #lisp 2015-02-25T01:41:39Z kbtr joined #lisp 2015-02-25T01:41:39Z ozzloy joined #lisp 2015-02-25T01:41:39Z hratsimihah joined #lisp 2015-02-25T01:41:39Z moomin-aba_ joined #lisp 2015-02-25T01:41:39Z nitrix joined #lisp 2015-02-25T01:41:39Z galdor joined #lisp 2015-02-25T01:41:39Z hyoyoung joined #lisp 2015-02-25T01:41:39Z hellome joined #lisp 2015-02-25T01:41:39Z kyl` joined #lisp 2015-02-25T01:41:39Z tstc joined #lisp 2015-02-25T01:41:39Z phf joined #lisp 2015-02-25T01:41:39Z brandonz_ joined #lisp 2015-02-25T01:41:39Z redline6561 joined #lisp 2015-02-25T01:41:39Z viaken joined #lisp 2015-02-25T01:41:39Z xorpse joined #lisp 2015-02-25T01:41:39Z micro joined #lisp 2015-02-25T01:41:39Z nitro_idiot joined #lisp 2015-02-25T01:41:39Z p_l|backup joined #lisp 2015-02-25T01:41:39Z renard_ joined #lisp 2015-02-25T01:41:39Z Neptu joined #lisp 2015-02-25T01:43:10Z AntiSpamMeta quit (Read error: Connection reset by peer) 2015-02-25T01:43:24Z AntiSpamMeta joined #lisp 2015-02-25T01:44:58Z csziacobus joined #lisp 2015-02-25T01:45:24Z srcerer quit (Ping timeout: 252 seconds) 2015-02-25T01:46:46Z Eremox quit (Ping timeout: 255 seconds) 2015-02-25T01:50:30Z Vutral_ joined #lisp 2015-02-25T01:52:02Z dan64 quit (Max SendQ exceeded) 2015-02-25T01:52:41Z dan64 joined #lisp 2015-02-25T01:55:55Z Mawile left #lisp 2015-02-25T01:56:02Z hellome quit (Max SendQ exceeded) 2015-02-25T01:59:29Z edgar-rft joined #lisp 2015-02-25T01:59:29Z cpc26 joined #lisp 2015-02-25T01:59:29Z Longlius joined #lisp 2015-02-25T01:59:29Z lifenoodles joined #lisp 2015-02-25T01:59:29Z lowryder joined #lisp 2015-02-25T01:59:29Z apathor joined #lisp 2015-02-25T01:59:29Z billstclair joined #lisp 2015-02-25T01:59:29Z oGMo joined #lisp 2015-02-25T01:59:51Z lispyone joined #lisp 2015-02-25T01:59:59Z edgar-rft quit (Quit: edgar-rft) 2015-02-25T02:00:27Z edgar-rft joined #lisp 2015-02-25T02:01:24Z AntiSpamMeta quit (Read error: Connection reset by peer) 2015-02-25T02:01:37Z AntiSpamMeta joined #lisp 2015-02-25T02:02:06Z karswell quit (Read error: Connection reset by peer) 2015-02-25T02:03:10Z theethicalegoist joined #lisp 2015-02-25T02:03:23Z karswell joined #lisp 2015-02-25T02:04:15Z urandom__ quit (Quit: Konversation terminated!) 2015-02-25T02:04:28Z burtons joined #lisp 2015-02-25T02:06:37Z Bicyclidine joined #lisp 2015-02-25T02:08:04Z grantix quit (Ping timeout: 244 seconds) 2015-02-25T02:10:42Z cpc26 quit (*.net *.split) 2015-02-25T02:10:42Z Longlius quit (*.net *.split) 2015-02-25T02:10:42Z lifenoodles quit (*.net *.split) 2015-02-25T02:10:42Z lowryder quit (*.net *.split) 2015-02-25T02:10:42Z apathor quit (*.net *.split) 2015-02-25T02:10:42Z billstclair quit (*.net *.split) 2015-02-25T02:10:42Z oGMo quit (*.net *.split) 2015-02-25T02:15:18Z linux_dream quit (Quit: Leaving) 2015-02-25T02:15:35Z ynniv joined #lisp 2015-02-25T02:15:37Z linux_dream joined #lisp 2015-02-25T02:16:26Z cpc26 joined #lisp 2015-02-25T02:16:26Z Longlius joined #lisp 2015-02-25T02:16:26Z lifenoodles joined #lisp 2015-02-25T02:16:26Z lowryder joined #lisp 2015-02-25T02:16:26Z apathor joined #lisp 2015-02-25T02:16:26Z billstclair joined #lisp 2015-02-25T02:16:26Z oGMo joined #lisp 2015-02-25T02:16:41Z lowryder quit (Max SendQ exceeded) 2015-02-25T02:16:41Z Longlius quit (Max SendQ exceeded) 2015-02-25T02:16:58Z harish_ joined #lisp 2015-02-25T02:16:59Z harish_ quit (Changing host) 2015-02-25T02:16:59Z harish_ joined #lisp 2015-02-25T02:17:06Z Longlius joined #lisp 2015-02-25T02:17:24Z lowryder joined #lisp 2015-02-25T02:17:52Z Bicyclidine quit (Ping timeout: 240 seconds) 2015-02-25T02:18:37Z innertracks joined #lisp 2015-02-25T02:20:13Z frkout joined #lisp 2015-02-25T02:21:10Z LiamH joined #lisp 2015-02-25T02:23:00Z oleo joined #lisp 2015-02-25T02:24:27Z oleo__ quit (Ping timeout: 245 seconds) 2015-02-25T02:25:13Z scymtym joined #lisp 2015-02-25T02:25:48Z attila_lendvai quit (Ping timeout: 256 seconds) 2015-02-25T02:32:35Z innertracks quit (Ping timeout: 246 seconds) 2015-02-25T02:34:32Z Kanae joined #lisp 2015-02-25T02:34:54Z hiyosi quit (Quit: My Mac has gone to sleep. ZZZzzz…) 2015-02-25T02:35:14Z innertracks joined #lisp 2015-02-25T02:39:22Z frkout_ joined #lisp 2015-02-25T02:39:41Z echo-are` is now known as echo-area 2015-02-25T02:43:05Z frkout quit (Ping timeout: 264 seconds) 2015-02-25T02:43:08Z grantix joined #lisp 2015-02-25T02:43:27Z kapil___ joined #lisp 2015-02-25T02:43:41Z theethicalegoist quit (Quit: Leaving) 2015-02-25T02:44:06Z warweasle joined #lisp 2015-02-25T02:44:33Z grantix quit (Remote host closed the connection) 2015-02-25T02:44:37Z warweasle left #lisp 2015-02-25T02:46:58Z ebrasca quit (Remote host closed the connection) 2015-02-25T02:47:41Z fraytack` joined #lisp 2015-02-25T02:47:53Z grantix joined #lisp 2015-02-25T02:48:03Z wemeetagain quit (Ping timeout: 256 seconds) 2015-02-25T02:48:53Z innertracks quit (Ping timeout: 244 seconds) 2015-02-25T02:50:01Z Bicyclidine joined #lisp 2015-02-25T02:50:21Z csziacobus quit (Quit: csziacobus) 2015-02-25T02:50:44Z resttime_ quit (Ping timeout: 256 seconds) 2015-02-25T02:52:04Z bjorkintosh joined #lisp 2015-02-25T03:00:21Z csziacobus_ joined #lisp 2015-02-25T03:01:52Z wemeetagain joined #lisp 2015-02-25T03:05:44Z badkins_ joined #lisp 2015-02-25T03:08:09Z girrig quit (Ping timeout: 276 seconds) 2015-02-25T03:08:18Z girrig joined #lisp 2015-02-25T03:08:30Z badkins quit (Disconnected by services) 2015-02-25T03:08:34Z Takumo quit (Ping timeout: 245 seconds) 2015-02-25T03:08:41Z badkins_ is now known as badkins 2015-02-25T03:09:03Z tkd_ joined #lisp 2015-02-25T03:09:27Z tkd quit (Ping timeout: 276 seconds) 2015-02-25T03:11:27Z Takumo joined #lisp 2015-02-25T03:11:27Z Takumo quit (Changing host) 2015-02-25T03:11:27Z Takumo joined #lisp 2015-02-25T03:15:07Z csziacobus_ quit (Quit: csziacobus_) 2015-02-25T03:16:30Z beach joined #lisp 2015-02-25T03:16:37Z beach: Good morning everyone! 2015-02-25T03:17:23Z nyef: Hello beach. 2015-02-25T03:19:06Z akkad: morning beech 2015-02-25T03:19:11Z akkad: beach 2015-02-25T03:22:59Z Ethan- quit (Remote host closed the connection) 2015-02-25T03:24:56Z modula joined #lisp 2015-02-25T03:25:32Z csziacobus_ joined #lisp 2015-02-25T03:26:22Z defaultxr quit (Ping timeout: 272 seconds) 2015-02-25T03:26:22Z modula is now known as defaultxr 2015-02-25T03:26:31Z burtons: i hope tonite is the night I get Mezanno to actaully boot... 2015-02-25T03:26:59Z burtons: quite an impressive project. i've had lots of time to go though the source while I've been waiting 2015-02-25T03:28:55Z eak quit (Ping timeout: 255 seconds) 2015-02-25T03:29:15Z linux_dream quit (Quit: Leaving) 2015-02-25T03:29:43Z antgreen joined #lisp 2015-02-25T03:30:17Z rpg joined #lisp 2015-02-25T03:31:11Z csziacobus_ quit (Quit: csziacobus_) 2015-02-25T03:31:42Z akkad: yeah it's quite impressive 2015-02-25T03:31:51Z drmeister: Hello beach 2015-02-25T03:31:59Z beach: drmeister: Hi. 2015-02-25T03:32:23Z rpg quit (Read error: Connection reset by peer) 2015-02-25T03:32:30Z akkad: burtons: size wise, it's quite impressive given how big a image files these days runs > 50MB 2015-02-25T03:32:31Z rpg joined #lisp 2015-02-25T03:32:35Z burtons: i can't wait to actually use it 2015-02-25T03:32:49Z drmeister: I just responded to your email. I need the invoke-instruction to implement funwind-protect. Then I started playing with unwind-protect as try-catch and I think I see how to do it. 2015-02-25T03:32:54Z akkad: GNU/Mezanno 2015-02-25T03:32:59Z burtons: i've been trying to get it to boot for about 4 days now, always something goes wrong 2015-02-25T03:33:06Z loke: Who paintains cl-ppcre? 2015-02-25T03:33:13Z burtons: but i've learned quite a bit about the boot process 2015-02-25T03:33:18Z beach: drmeister: You don't need invoke-instruction to implement funwind-protect. 2015-02-25T03:33:31Z beach: drmeister: You just compile it on your old compiler. 2015-02-25T03:33:34Z akkad: burtons: yeah to see asm in CL is pretty impressive 2015-02-25T03:33:48Z csziacobus_ joined #lisp 2015-02-25T03:33:55Z loke: akkad: like DISASSEMBLE? 2015-02-25T03:34:02Z drmeister: If I throw an exception in the protected-form code it will bypass the cleanup-form code. 2015-02-25T03:34:05Z burtons: the code is a bit confusing, but it's really readable and clean 2015-02-25T03:34:36Z beach: drmeister: I don't see how that is possible, given that there is an UNWIND-PROTECT in your FUNWIND-PROTECT. 2015-02-25T03:34:45Z burtons: i'm trying to figure out what 'wired' memory is 2015-02-25T03:35:01Z drmeister: Oh - I don't want to use my compiler and I have the try, landing-pad, invoke and cleanup instructions implemented. 2015-02-25T03:35:03Z burtons: there seems to be 'wired' and 'pinned', but i'm not familiar with the terms 2015-02-25T03:35:08Z eak joined #lisp 2015-02-25T03:35:15Z akkad: burtons: memory tht can't be gc'd? 2015-02-25T03:35:26Z beach: drmeister: If you don't want to use your compiler, then write it in C++. 2015-02-25T03:35:27Z akkad: or freed 2015-02-25T03:35:44Z beach: drmeister: It is not worth changing the entire Cleavir framework to implement a single function. 2015-02-25T03:35:49Z akkad: kernel pages relating to device drivers, or interrupt handlers typically do not want to be paged out 2015-02-25T03:35:55Z burtons: akkad: not sure 2015-02-25T03:35:57Z drmeister: I'm not asking to change the Cleavir framework. 2015-02-25T03:36:10Z akkad: burtons: from kernel terminology that's what it's used for 2015-02-25T03:36:13Z drmeister: I'm using the vanilla Cleavir framework. 2015-02-25T03:36:30Z burtons: akkad: you mean, that's what wired memory is? 2015-02-25T03:36:42Z akkad: the PIC needs an absolute address to call code. and if that code is paged out, that's a problem 2015-02-25T03:36:45Z burtons: akkad: I think that would be pinned, but i'm jus tguessing 2015-02-25T03:36:49Z akkad: AIX uses wired 2015-02-25T03:36:53Z beach: drmeister: Why is it important to you not to use your old compiler to compile FUNWIND-PROTECT? 2015-02-25T03:37:00Z akkad: I've seen BSD use the pinned term too 2015-02-25T03:37:14Z burtons: well mezzano uses both 2015-02-25T03:37:19Z burtons: mabye i should ask google 2015-02-25T03:37:30Z drmeister: Because my old compiler is my problem and the reason why I'm incorporating a new compiler. 2015-02-25T03:37:42Z beach: drmeister: We have a gazillion things that are more important to think about than to avoid using your old compiler for a single function. 2015-02-25T03:37:45Z akkad: maybe see the ISA docs and see what they mean on a given arch 2015-02-25T03:37:55Z beach: drmeister: It is just one single function. 2015-02-25T03:38:11Z beach: drmeister: And it does very little. 2015-02-25T03:38:19Z burtons: 'wired memory turns out to be memory "used by the OS [which] is pretty much untouchable' 2015-02-25T03:38:32Z burtons: according to a quick google 2015-02-25T03:38:39Z fraytack` quit (Ping timeout: 250 seconds) 2015-02-25T03:38:47Z beach: drmeister: Write it in C++ or assembler for now. In a few years, when we have all the other things sorted out, you can think of doing it with Cleavir. 2015-02-25T03:39:12Z burtons: and pinned means never swapped 2015-02-25T03:39:37Z jleija quit (Quit: leaving) 2015-02-25T03:39:40Z bgs100 joined #lisp 2015-02-25T03:41:20Z beach: drmeister: Here is another possibility: Just do the AST by hand. It does very little. It just calls one function and if that function throws an exception, it calls a different function. 2015-02-25T03:41:21Z nyef: burtons: In Mezzano, "wired" means "must remain in memory", that is "won't be paged out" and "pinned" means "must stay at the same address", that is "won't be moved by the GC". 2015-02-25T03:42:20Z drmeister: I can implement this in Cleavir - I've essentially done it. I just need to replace funcall-instructions with invoke-instructions in the code generated for the protected form. 2015-02-25T03:42:47Z beach: drmeister: The code generated for the protected form is just (funcall thunk1). 2015-02-25T03:44:23Z beach: drmeister: We are talking about implementing (defun funwind-protect (thunk1 thunk2) (unwind-protect (funcall thunk1) (funcall thunk2))) 2015-02-25T03:45:17Z drmeister: I get it - I saw through what you were telling me and I saw how to implement it with try-catch - something I've been banging my head against wall for a couple of weeks. 2015-02-25T03:46:32Z drmeister: Look - I'll have to reset and think about it again. 2015-02-25T03:47:01Z beach: drmeister: That discussion is different from implementing FUNWIND-PROTECT. 2015-02-25T03:47:02Z lispyone quit (Remote host closed the connection) 2015-02-25T03:47:28Z beach: drmeister: That discussion had to do with implementing the UNWIND-INSTRUCTION. 2015-02-25T03:48:01Z drmeister: Implementing FUNWIND-PROTECT is trivial. 2015-02-25T03:48:10Z beach: Yes, that's what I am saying. 2015-02-25T03:48:21Z beach: And you don't need any invoke instruction anywhere else. 2015-02-25T03:48:59Z drmeister: Fine. 2015-02-25T03:49:13Z beach: Did you think you needed invoke instructions elsewhere? 2015-02-25T03:50:29Z gko__ joined #lisp 2015-02-25T03:52:12Z nyef: burtons: Apparently the "wired" and "pinned" heap spaces are mark-sweep GC'd, while the normal spaces use some sort of two-space collector. 2015-02-25T03:59:08Z drmeister: Yes, for the try/catch for tagbody/go, block/return-from and catch/throw. 2015-02-25T03:59:52Z beach: drmeister: Oh? 2015-02-25T04:00:23Z drmeister: No? 2015-02-25T04:00:30Z beach: I don't see it. 2015-02-25T04:00:39Z idealist joined #lisp 2015-02-25T04:01:00Z beach: I thought the invoke instruction was just needed for unwind-protect. 2015-02-25T04:01:15Z rpg quit (Quit: rpg) 2015-02-25T04:02:04Z burtons: nyef: thanks. i guess the definitions are different from normal usage 2015-02-25T04:02:50Z LiamH quit (Quit: Leaving.) 2015-02-25T04:03:06Z drmeister: No, it is used in place of CALL when an exception is thrown in the function that you are calling and to divert the stream of execution to a block of code called a "landing-pad". The "landing-pad" dispatches based on the type of the exception to different exception handlers. 2015-02-25T04:03:10Z burtons: damnit, page fault on unmapped page...again. reboot and see if it works next time... 2015-02-25T04:03:42Z csziacobus_ quit (Quit: csziacobus_) 2015-02-25T04:03:59Z drmeister: And INVOKE is like a CALL but it has two successors, one for the normal return and the second for the exceptional situation. 2015-02-25T04:04:09Z burtons: i wonder if that means it ran out of memory 2015-02-25T04:04:38Z beach: drmeister: OK, educate me. Suppose I have (tagbody (ff (lambda () (go a))) a) 2015-02-25T04:04:43Z burtons sets his vm to 1024 this time just in case 2015-02-25T04:05:05Z beach: drmeister: Where in that code do you need the invoke instruction? 2015-02-25T04:10:24Z drmeister: beach: Not the best example - how about (tagbody (ff (lambda () (go a))) (print "foo") a (print "bar")) 2015-02-25T04:10:39Z beach: drmeister: Fine. 2015-02-25T04:10:59Z drmeister: You need an INVOKE instruction to invoke FF, otherwise it will print "foo" and then "bar" 2015-02-25T04:11:30Z beach: But you don't know what FF is doing. 2015-02-25T04:11:42Z drmeister: So? 2015-02-25T04:11:56Z ynniv quit (Quit: ynniv) 2015-02-25T04:12:13Z drmeister: Let me show you what that would look like with a try/catch 2015-02-25T04:14:17Z beach: drmeister: Just one question. What is different about FF compared to other functions in that you need the invoke instruction to invoke it? 2015-02-25T04:14:48Z drmeister: https://gist.github.com/anonymous/04b5f40638edd49a5439 2015-02-25T04:15:25Z loke: drmeister: what language is that? 2015-02-25T04:15:47Z drmeister: What is different is that FF is called from within a TRY block and it may or may not throw an exception. 2015-02-25T04:15:57Z loke: it almost looks like C++, but ther []() construct is weird. 2015-02-25T04:15:57Z drmeister: loke: C++ 2015-02-25T04:16:14Z burtons: loke: that's a C++ lambda 2015-02-25T04:16:18Z loke: oh 2015-02-25T04:16:24Z burtons: c++0x 2015-02-25T04:17:03Z drmeister: C++ has "lambda"'s - they are anonymous functions and the hottest thing since they were invented in 2011 for C++ - have you not heard of them? 2015-02-25T04:17:57Z drmeister: beach: http://llvm.org/docs/LangRef.html#invoke-instruction 2015-02-25T04:18:08Z innertracks joined #lisp 2015-02-25T04:18:22Z drmeister: How else can flow of execution change due to a thrown exception? 2015-02-25T04:18:57Z beach: drmeister: I guess I must have missed that. I was under the impression that INVOKE was only needed in order to implement unwind-protect. 2015-02-25T04:19:09Z drmeister: loke: Sorry - just to be clear - I'm being sarcastic 2015-02-25T04:19:45Z beach: drmeister: Now I understand that it is needed whether there is an unwind-protect or not. 2015-02-25T04:19:48Z loke: drmeister: I thought they were invented by Clojure. 2015-02-25T04:19:54Z drmeister: It's needed for that and for every call within a try {...} block that can possibly throw an exception. 2015-02-25T04:23:56Z bgs100 quit (Quit: bgs100) 2015-02-25T04:24:16Z beach: drmeister: Can you just use invoke everywhere? 2015-02-25T04:25:09Z drmeister: You could - but every invoke needs a landing-pad and I'm pretty sure that landing-pads cost performance when exceptions are thrown. 2015-02-25T04:25:25Z drmeister: They are zero cost until an exception is thrown. 2015-02-25T04:25:44Z beach: So if you use invoke where no exception can ever be thrown, it has 0 cost? 2015-02-25T04:25:46Z drmeister: Other than the code space they take up. 2015-02-25T04:26:10Z drmeister: Yup, other than your code is a bit larger because of all the landing-pads. 2015-02-25T04:27:25Z drmeister: But when an exception is thrown the exception handling code has to search up the chain of landing pads for one that handles the type of the object that you threw as the exception. That search takes time and the more landing pads there are the longer it takes. So unnecessary landing pads cost performance when exceptions are thrown. 2015-02-25T04:27:29Z innertracks quit (Quit: innertracks) 2015-02-25T04:27:34Z beach: OK, let me think about it. You are saying that whenever you have a function with an instruction that is a successor of an UNWIND-INSTRUCTION, whenever you invoke that enclosed function containing the UNWIND-INSTRUCTION, this has to be done with INVOKE rather than CALL? 2015-02-25T04:27:49Z drmeister: This is the stuff that I'm weighing in my head when I've been banging it against the wall trying to figure how to implement all of this. 2015-02-25T04:28:02Z innertracks joined #lisp 2015-02-25T04:28:03Z scymtym quit (Ping timeout: 250 seconds) 2015-02-25T04:28:27Z drmeister: Parsing... 2015-02-25T04:28:34Z beach: drmeister: ... and it has nothing to do with the presence or not of UNWIND-PROTECT. 2015-02-25T04:30:07Z thomas quit (Quit: Restart.) 2015-02-25T04:30:14Z drmeister: That I can answer right away - it's not specific to UNWIND-PROTECT. It's the try { protected-code } catch (...) {catch-code}. Any function calls in the protected-code that can throw an exception caught by the "catch" clause has to be called using the llvm "invoke" instruction rather than the llvm "call" instruction. 2015-02-25T04:31:09Z drmeister: What you said above is not quite what I'm saying. 2015-02-25T04:31:18Z beach: drmeister: So it is not a question of detecting whether you are inside the protected form of UNWIND-PROTECT as you said in your email. 2015-02-25T04:31:32Z Quadrescence joined #lisp 2015-02-25T04:32:08Z k-dawg joined #lisp 2015-02-25T04:32:40Z beach: drmeister: How are they different? 2015-02-25T04:32:43Z thomas joined #lisp 2015-02-25T04:33:06Z drmeister: It was a question of detecting whether I am inside the protected form of UNWIND-PROTECT as I said in my email. But it's more general than that. It's a question of how do I convert every "call" within the protected code of a try {...} block to an "invoke". 2015-02-25T04:33:48Z drmeister: Say I have a function that is going to invoke an UNWIND-INSTRUCTION (or in C++ parlance, throw an exception). 2015-02-25T04:34:28Z drmeister: I can call it from outside of a try {...} block with the "call" instruction. In that case there is no catch clauses to catch it so it doesn't need "invoke". 2015-02-25T04:35:49Z Mon_Ouie quit (Ping timeout: 264 seconds) 2015-02-25T04:35:54Z drmeister: I can call it from inside of a try {...} block with a call instruction if that try {...} block doesn't have any catch (...) {...} clauses that match the exception thrown - again there is nothing to catch the exception so I don't need invoke - but I think even clang fails to do this optimization (I'm not certain of this though). 2015-02-25T04:36:49Z drmeister: But if I call it from a try {...} block that has a catch (...) {...} clause that matches the exception that I'm going to throw - then I better call it with "invoke" or the exception will not be caught by the intended catch clause. 2015-02-25T04:37:04Z beach: I get it. 2015-02-25T04:37:48Z nyef: But this only applies to the first level of CALLs within an UNWIND-PROTECT? 2015-02-25T04:38:08Z drmeister: Right - so you see, it's not that I don't understand funwind-protect. I'm juggling a lot of stuff in my head at the same time. I really appreciate your taking the time yesterday to explain funwind-protect and especially that the unwind-instruction only needs to unwind to a function and then jump to an instruction in that function. 2015-02-25T04:38:10Z beach: nyef: No. 2015-02-25T04:38:13Z idealist quit (Ping timeout: 255 seconds) 2015-02-25T04:38:17Z drmeister: That really, really cleared things up for me overnight. 2015-02-25T04:38:26Z drmeister: nyef: Parsing... 2015-02-25T04:38:45Z beach: nyef: It applies to UNWIND-PROTECT, but since UNWIND-PROTECT is implemented as a function, that is only in one single place. 2015-02-25T04:38:49Z Mon_Ouie joined #lisp 2015-02-25T04:39:07Z drmeister: nyef: No, it is all calls that are made directly from within the try {...} block that gets wrapped around the protected code of the unwind-protect. 2015-02-25T04:39:16Z beach: nyef: But it also applies when there is a lexical non-local control transfer like GO or RETURN-FROM. 2015-02-25T04:39:35Z gravicappa joined #lisp 2015-02-25T04:39:36Z nyef: Ugh. 2015-02-25T04:39:38Z drmeister: Yes. 2015-02-25T04:39:42Z drmeister: Yes, yes, yes. 2015-02-25T04:39:48Z beach: nyef: So when there is something like (tagbody (ff (lambda () (go a)) a)) 2015-02-25T04:40:24Z beach: nyef: Because drmeister implements non-local control transfers with C++ exceptions. 2015-02-25T04:40:49Z nyef: So it applies to all calls within an environment with an active non-local entry point. 2015-02-25T04:41:08Z badkins quit (Remote host closed the connection) 2015-02-25T04:41:13Z drmeister: nyef: Yes, that is another way to put it. 2015-02-25T04:41:14Z beach: "entry point"? 2015-02-25T04:41:34Z drmeister: "entry point" == catch (...) {...} clause. 2015-02-25T04:41:42Z beach: nyef: "target of a control transfer"? 2015-02-25T04:41:46Z nyef: Sorry, "exit point", per CLHS 5.2. 2015-02-25T04:41:52Z beach: Yes, I agree. 2015-02-25T04:42:00Z drmeister: So do I. 2015-02-25T04:42:02Z nyef: But it's specifically lexical, not dynamic. 2015-02-25T04:42:09Z beach: Yes, just lexical. 2015-02-25T04:42:11Z drmeister: What does that mean? 2015-02-25T04:42:24Z cluck quit (Remote host closed the connection) 2015-02-25T04:42:28Z nyef: It means that you can figure it out at compile time. d-: 2015-02-25T04:43:09Z drmeister: Yes - that's what I've been trying to figure out for a couple of weeks now. 2015-02-25T04:43:14Z drmeister: I think I have it now. 2015-02-25T04:44:12Z innertracks quit (Ping timeout: 246 seconds) 2015-02-25T04:44:17Z beach: nyef: It is straightforward to detect. In HIR, a non-local control transfer is explicitly indicated by an UNWIND-INSTRUCTION. 2015-02-25T04:44:38Z innertracks joined #lisp 2015-02-25T04:45:06Z drmeister: beach: So do you see now why I want to convert funcall-instructions to invoke-instructions when they are in the body of a try {...} block. 2015-02-25T04:45:41Z nyef: But the question isn't finding where the transfers come from, some of them may not even be lexical exits, what matters is that the exit itself is established within the lexical environment. 2015-02-25T04:45:48Z beach: drmeister: Yes, but you confused me by saying it had something to do with UNWIND-PROTECT. It doesn't. It has to do with the presence or not of an UNWIND-INSTRUCTION. 2015-02-25T04:46:24Z nyef: beach: So if I use CATCH, there will be an UNWIND-INSTRUCTION for it, even if the THROW is in another function, or compiled far, far later? 2015-02-25T04:48:05Z drmeister: I'm not sure I understand I convert funcall-instruction to invoke-instruction based on if the funcall-instruction is within a try {...} block - whether the invoke-instruction can invoke and unwind-instruction is less important. 2015-02-25T04:48:15Z beach: nyef: You can think of CATCH as being implemented with a function containing (lambda () (go xxx)), so yes, then there will be an unwind-instruction in it. 2015-02-25T04:49:08Z nyef: Hrm. You actually instantiate that at compile-time for the CATCH? 2015-02-25T04:49:11Z drmeister: beach: Not quite. 2015-02-25T04:49:29Z drmeister: The catch is there regardless if there is a function containing (lambda () (go xxx)) 2015-02-25T04:50:01Z beach: nyef: Think of catch as being a macro that expands to a call to FCATCH. 2015-02-25T04:50:07Z beach: nyef: Problem solved. 2015-02-25T04:50:35Z beach: drmeister: You are talking about different catches. 2015-02-25T04:50:38Z beach: [I think] 2015-02-25T04:50:50Z beach: I think nyef is talking about CL:CATCH. 2015-02-25T04:50:58Z beach: And you are talking about C++ catch. 2015-02-25T04:50:58Z nyef: Yeah, CL:CATCH. 2015-02-25T04:51:07Z drmeister: Oh - sorry - rereading. 2015-02-25T04:51:37Z Jubb joined #lisp 2015-02-25T04:52:53Z Bicyclidine quit (Ping timeout: 246 seconds) 2015-02-25T04:52:58Z beach: drmeister: Let's say F is a function that is the owner of an instruction that is the successor of an UNWIND-INSTRUCTION. 2015-02-25T04:53:14Z drmeister: Ok, 2015-02-25T04:53:32Z beach: drmeister: Let's say G is a function called by F and G is the one containing that UNWIND-INSTRUCTION. 2015-02-25T04:53:50Z beach: Then when F calls G it has to be done by LLVM INVOKE instruction. 2015-02-25T04:54:04Z innertracks quit (Quit: innertracks) 2015-02-25T04:54:12Z drmeister: parsing... 2015-02-25T04:54:25Z drmeister: F contains the UNWIND-INSTRUCTION? 2015-02-25T04:54:31Z drmeister: Or G? 2015-02-25T04:54:34Z beach: G does. 2015-02-25T04:54:49Z beach: directly or indirectly. 2015-02-25T04:54:52Z drmeister: Oh, the successor of the UNWIND-INSTRUCTION is in another function. 2015-02-25T04:55:00Z drmeister: Right. 2015-02-25T04:55:03Z drmeister: Hang on... 2015-02-25T04:55:10Z beach: The successor of the UNWIND-INSTRUCTION is an instruction owned by F. 2015-02-25T04:56:35Z drmeister: Yes, when F calls G it has to be done by an LLVM INVOKE instruction and there has to be a landing pad compiled within F. 2015-02-25T04:56:42Z macmathis joined #lisp 2015-02-25T04:56:47Z beach: drmeister: Exactly. 2015-02-25T04:57:02Z drmeister: Did I just contradict myself from previously? 2015-02-25T04:57:16Z beach: I don't care. 2015-02-25T04:57:29Z drmeister: Neither do I - I say all sorts of shit all the time. 2015-02-25T04:57:32Z beach: As long as we agree that this is the situation we need to detect. 2015-02-25T04:57:32Z drmeister: :-) 2015-02-25T04:57:39Z drmeister: Yes, we agree. 2015-02-25T04:58:28Z macmathis: akkad: do you have a git repo for those mods? I'd like to see CL in the kernel :P 2015-02-25T04:59:11Z drmeister: Ok, here's funwind_protect: 2015-02-25T04:59:26Z beach: drmeister: Forget about FUNWIND-PROTECT. 2015-02-25T04:59:38Z drmeister: https://gist.github.com/anonymous/10a1c2b8b119ac1f5eac 2015-02-25T05:00:05Z drmeister: Ok - wanna see what I've got for UNWIND-PROTECT? 2015-02-25T05:01:02Z beach: I don't know much about C++ exceptions, but don't you need to throw the exception again in the handler? 2015-02-25T05:01:46Z resttime joined #lisp 2015-02-25T05:02:20Z drmeister: Yes - for Common Lisp exceptions - if the UNWIND-INSTRUCTION target doesn't match the one the catch (...) {...} is looking for then it needs to be rethrown. 2015-02-25T05:02:44Z k-dawg quit (Quit: This computer has gone to sleep) 2015-02-25T05:02:47Z drmeister: Now I don't want a target function, I want the unwind-instruction to point to a target try {...} block. 2015-02-25T05:02:53Z Natch quit (Ping timeout: 250 seconds) 2015-02-25T05:03:23Z beach: drmeister: You keep changing the subject. Whenever I talk about UNWIND-INSTRUCTION you change the subject to UNWIND-PROTECT, and whenever I agree to discuss UNWIND-PROTECT, you change back to UNWIND-INSTRUCTION. 2015-02-25T05:03:37Z drmeister: Sorry, I'm a very non-linear thinker. 2015-02-25T05:03:47Z drmeister: What is the subject? 2015-02-25T05:04:40Z beach: Since you didn't follow my advice "forget about unwind-protect", I agreed to look at your code for funwind_protect. And I was saying, don't you need to re-throw the exception there? 2015-02-25T05:05:41Z beach: ... in case there are dynamically nested UNWIND-PROTECTs. 2015-02-25T05:06:55Z drmeister: You are correct - that would explain why it produced the strange output that it did in my test case - I was just puzzling over that. 2015-02-25T05:07:15Z drmeister: See this: 2015-02-25T05:07:18Z drmeister: https://www.irccloud.com/pastebin/WgKER6FE 2015-02-25T05:07:40Z drmeister: The "t-b" shouldn't be in the output - I think it's because I'm not rethrowing the exception. 2015-02-25T05:07:45Z drmeister: Hang on. 2015-02-25T05:07:56Z Natch joined #lisp 2015-02-25T05:08:15Z MrWoohoo joined #lisp 2015-02-25T05:08:30Z drmeister: I coded this in a hurry and then we got into the conversation we just had. 2015-02-25T05:11:10Z nell quit (Quit: WeeChat 1.2-dev) 2015-02-25T05:12:24Z resttime quit (Ping timeout: 256 seconds) 2015-02-25T05:14:05Z beach: drmeister: Correct me if I am wrong: It is when F calls G that you need to decide to use the LLVM INVOKE instruction. You don't need anything special to generate code for F itself other than that. Yes? 2015-02-25T05:16:06Z drmeister: Ok, that fixed it. 2015-02-25T05:16:09Z drmeister: https://www.irccloud.com/pastebin/D9yxrRN7 2015-02-25T05:16:54Z drmeister: https://gist.github.com/anonymous/13ee2ff2f4ef252c2a41 2015-02-25T05:17:09Z frkout_ quit (Remote host closed the connection) 2015-02-25T05:17:36Z frkout joined #lisp 2015-02-25T05:17:43Z drmeister: I need to generate landing pad code for the INVOKE to branch to on an exception. 2015-02-25T05:17:55Z beach: Right. 2015-02-25T05:18:05Z drmeister: But I created a landing-pad-instruction - so that's no problem. 2015-02-25T05:18:25Z beach: In HIR? 2015-02-25T05:19:48Z Bicyclidine joined #lisp 2015-02-25T05:20:36Z beach: I need a break. I'll be back in 30 minutes or so. 2015-02-25T05:20:52Z drmeister: Yes. 2015-02-25T05:20:53Z Bicyclidine quit (Client Quit) 2015-02-25T05:21:12Z drmeister: But I need to change the funcall-instructions to invoke-instructions in the protected code. 2015-02-25T05:21:25Z drmeister: Otherwise you can't see them because nothing points to them. 2015-02-25T05:21:54Z drmeister: I guess I'm not going to bed for a while (sigh). 2015-02-25T05:23:06Z vdamewood quit (Quit: ["Textual IRC Client: www.textualapp.com"]) 2015-02-25T05:26:38Z selat joined #lisp 2015-02-25T05:32:47Z hiroakip joined #lisp 2015-02-25T05:40:28Z innertracks joined #lisp 2015-02-25T05:41:00Z munksgaard joined #lisp 2015-02-25T05:43:22Z innertracks quit (Client Quit) 2015-02-25T05:44:10Z milosn quit (Ping timeout: 265 seconds) 2015-02-25T05:45:44Z milosn joined #lisp 2015-02-25T05:46:22Z Quadrescence quit (Quit: This computer has gone to sleep) 2015-02-25T05:46:52Z pranavrc joined #lisp 2015-02-25T05:48:37Z innertracks joined #lisp 2015-02-25T05:50:10Z bb010g joined #lisp 2015-02-25T05:53:34Z beach: drmeister: I will send you some code that will let you change the funcalls to invokes when necessary. 2015-02-25T05:53:49Z drmeister: Thank you. 2015-02-25T05:54:07Z drmeister: Would invoke-instruction have to inherit from something other than call-instruction because it has two successors? 2015-02-25T05:54:09Z beach: drmeister: Go to sleep. I'll deal with it. 2015-02-25T05:54:22Z beach: drmeister: I'll think about it. 2015-02-25T05:54:36Z drmeister: Ok, I'm wiped out as well - I'll talk to you tomorrow. 2015-02-25T05:54:38Z beach: I have a pretty good idea of what you need. 2015-02-25T05:54:43Z mega1 quit (Ping timeout: 250 seconds) 2015-02-25T05:54:50Z drmeister: Thank you - I appreciate it very much. 2015-02-25T05:55:10Z BlueRavenGT quit (Ping timeout: 255 seconds) 2015-02-25T05:59:15Z echo-area quit (Remote host closed the connection) 2015-02-25T05:59:54Z echo-area joined #lisp 2015-02-25T05:59:59Z sz0` is now known as sz0 2015-02-25T06:00:30Z sz0 is now known as sz0` 2015-02-25T06:03:55Z drmeister: I have trouble letting go: 2015-02-25T06:04:15Z drmeister: (hoisted-hir-form '(lambda () (unwind-protect (progn (print "p1") (print "p2")) (print "Cleanup")))) 2015-02-25T06:04:29Z drmeister: http://i.imgur.com/PtHoJpP.png 2015-02-25T06:04:35Z drmeister: beach: Ping 2015-02-25T06:04:37Z hiroakip quit (Ping timeout: 255 seconds) 2015-02-25T06:04:40Z beach: I'm here. 2015-02-25T06:04:43Z drmeister: I'm going to bed now. 2015-02-25T06:05:28Z drmeister: But fyi - I did something I hate - I copied compile-ast specialized on call-ast and rewrote it to insert invoke or funcall depending if *landing-pad* was set up or not. 2015-02-25T06:05:51Z drmeister: This HIR contains a try, landing pad and a cleanup clause. It's a prototype for what I'm talking about. 2015-02-25T06:06:35Z innertracks quit (Ping timeout: 250 seconds) 2015-02-25T06:06:51Z resttime joined #lisp 2015-02-25T06:07:31Z beach: There should not be a landing pad or a try in there because there is no non-local control transfer. 2015-02-25T06:09:33Z munksgaard quit (Read error: Connection reset by peer) 2015-02-25T06:09:46Z defaultxr quit (Ping timeout: 272 seconds) 2015-02-25T06:09:55Z modula joined #lisp 2015-02-25T06:10:11Z drmeister: If PRINT failed for some reason or was replaced by some other function that did throw an exception then they would need to be there wouldn't they? This is a prototype. I think I need to rethrow the exception as well. 2015-02-25T06:10:48Z beach: *sigh* Let's talk about this some other time. 2015-02-25T06:12:51Z loke: drmeister: Replacing PRINT is undefined behaviour thoug 2015-02-25T06:15:07Z drmeister: The PRINT was a bad choice. Substitute FOO for PRINT. 2015-02-25T06:15:20Z drmeister: I'm off to bed - really - I'll stop now. 2015-02-25T06:21:09Z nyef quit (Quit: G'night all) 2015-02-25T06:22:30Z Natch quit (Ping timeout: 246 seconds) 2015-02-25T06:22:37Z selat quit (Ping timeout: 264 seconds) 2015-02-25T06:26:09Z Natch joined #lisp 2015-02-25T06:26:59Z resttime quit (Quit: resttime) 2015-02-25T06:28:11Z zymurgy1 quit (Quit: WeeChat 0.3.8) 2015-02-25T06:28:27Z zymurgy joined #lisp 2015-02-25T06:29:39Z badkins joined #lisp 2015-02-25T06:30:02Z pierre1_ quit (Remote host closed the connection) 2015-02-25T06:30:21Z isis_ joined #lisp 2015-02-25T06:32:39Z innertracks joined #lisp 2015-02-25T06:34:22Z badkins quit (Ping timeout: 240 seconds) 2015-02-25T06:36:03Z pt1 joined #lisp 2015-02-25T06:36:54Z easye quit (Read error: Connection reset by peer) 2015-02-25T06:38:54Z easye joined #lisp 2015-02-25T06:41:10Z a20150201 joined #lisp 2015-02-25T06:43:25Z ehu joined #lisp 2015-02-25T06:43:37Z hvxgr quit (Ping timeout: 245 seconds) 2015-02-25T06:44:27Z Shinmera joined #lisp 2015-02-25T06:45:49Z egp__ is now known as ANTARKTIDA 2015-02-25T06:45:59Z pt1 quit (Remote host closed the connection) 2015-02-25T06:46:08Z innertracks quit (Quit: innertracks) 2015-02-25T06:47:47Z impulse quit (Ping timeout: 245 seconds) 2015-02-25T06:48:29Z _ANTARKTIDA___ joined #lisp 2015-02-25T06:48:50Z ANTARKTIDA quit (Quit: Ухожу я от вас (xchat 2.4.5 или старше)) 2015-02-25T06:49:51Z theseb quit (Quit: Leaving) 2015-02-25T06:51:05Z pjb: - 2015-02-25T06:56:47Z gz quit (Ping timeout: 187 seconds)