Skip to content

Instantly share code, notes, and snippets.

@yamasushi
yamasushi / t.scm
Created August 3, 2012 03:50
イテレータの反転をつかったパイプライン。
(use gauche.generator)
(use text.tr)
(define (generator-inverter)
(^[produce consume] (consume (generate produce) ) ) )
(define (pipeline inverter cmd-in cmd-out)
(^[ g yield]
(inverter
(^[yield]
!! Index - モジュール索引 : compat.norational --> compat.norational - 有理数のない算術演算 --> X
!! Index - モジュール索引 : dbi --> dbi - データベース非依存アクセス層 --> X
!! Index - モジュール索引 : gauche.dictionary --> gauche.dictionary - ディクショナリフレームワーク --> X
!! Index - モジュール索引 : text.progress --> text.progress - テキスト端末上でプログレスを表示する --> X
!! Index - モジュール索引 : text.sql --> text.sql - SQLのパーズと構築 --> X
!! Index - モジュール索引 : util.relation --> util.relation - リレーションフレームワーク --> X
!! Index - モジュール索引 : util.sparse --> util.sparse - 疎なデータコンテナ --> X
!! Index - モジュール索引 : util.trie --> util.trie - Trie --> X
!! Index - 手続きと構文索引 : <sql-parse-error> --> text.sql - SQLのパーズと構築 --> X
!! Index - 手続きと構文索引 : make-text-progress-bar --> text.progress - テキスト端末上でプログレスを表示する --> X
gosh> (load "./twitterland-examples")
(-< yamasushi <@yamasushi : "まじです"> [@yamasushi : <@yamasushi : "つぶやき,はじめます">])
(-< null <@shuji : "まじで?"> [@null : <@yamasushi : "つぶやき,はじめます">])
(-< null <@yamasushi : "つぶやき,はじめます"> [@null : #f])
(-< shuji <@shuji : "まじで?"> [@shuji : #f])
(-< yamasushi <@yamasushi : "つぶやき,はじめます"> [@yamasushi : #f])
(-< null <@yamasushi : "まじです"> [@null : <@shuji : "まじで?">])
(-> shuji <@yamasushi : "まじです"> [@shuji : <@shuji : "まじで?">])
(-> yamasushi <@shuji : "まじで?"> [@yamasushi : <@yamasushi : "つぶやき,はじめます">])
#!/usr/bin/perl
# https://gist.github.com/yamasushi/311c5c424356abf645a2
use strict;
use warnings;
use utf8;
binmode STDIN,":utf8";
binmode STDOUT,":utf8";
while(<>){
chomp;