-
Notifications
You must be signed in to change notification settings - Fork 0
/
!!!change.log
790 lines (645 loc) · 38 KB
/
!!!change.log
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
To do
ロゴ(Git的な)欲しい
行数ズレ解消したい
エラー検出強力に(関数宣言 No checkはいかん)
ccsrcとの統合
GPL付加
汎用性を上げるためautotestの外部呼び出し以外をHaskell化など
dynamic_assert
NouLittleのデザイン
structとenumの実装
a += !~z を定義したら (a,b,c,d,e,f) += !~zも自動でできると嬉しい気がした(要るか?)
ver 1.0.2
--課題--
そろそろ切り上げるために頑張る
--README--
直接実行のための例を追加する -- 21:50 2017/02/14
WindowsとLinux両方について解説する -- 22:39 2017/02/14
リンクをいくつか貼る -- 23:06 2017/02/14
--ライブラリの説明--
ライブラリの日本語説明を確定させる -- 23:39 2017/02/14
ライブラリの英語説明も書く -- 23:58 2017/02/14
--リファクタリング--
semigroupsライブラリにData.List.NonEmptyというライブラリがあるので、それで置き換える -- 12:31 2018/02/13
HLint掛けてみた -- 13:24 2018/02/13
--名前--
ccscの最初のcはcamphoricのc。いいね? -- 14:58 2018/05/15
--動かす--
1年3ヶ月放置してたらまた動かなくなった。とりあえずMonadFailを足す -- 18:04 2019/08/29
--機能追加--
久々に使ってたら、fixityの強さに負の値を使いたくなってきた。よって追加。 -- 20:34 2019/08/29
--動かす--
System.Randomの都合上、orthotestがうんともすんとも言わなくなったので、仕方なくstackに移行。 -- 5:21 2019/08/30
--verUp--
機能も増えたし、バージョン上げてよくない? -- 5:48 2019/08/30
ver 1.0.1 19:32 2017/02/14
--課題--
動いたしバグも潰れたし、とりあえず覚えている限りの仕様を書き出せ -- 22:32 2017/02/09
演算子に使える文字の種類ってどんなのがありましたっけ -- 23:13 2017/02/10
調べた。出てきた。記載した。 -- 23:34 2017/02/10
ライブラリについて書こう -- 0:30 2017/02/11
(+<-~)と(+<--~)って何が違うの -- 19:05 2017/02/11
blame読んできます -- 19:09 2017/02/11
なるほど、過去にテストしたときに深いネストがバグって、それを解消するためにある程度展開した同一機能を持つ演算子を定義、それを使ってバグを特定し直し古いライブラリに切り替えたときに重複定義を消し忘れたということか -- 19:36 2017/02/11
消すのも忍びないしコメントアウトでもしとくか、まあそれももうちょい後回ししよう -- 19:37 2017/02/11
--ライブラリの変更--
ライブラリいじった場合ってautotestとかどうなるんだっけ -- 10:57 2017/02/13
現状、(+<--~)を削除し、a+= N* ~zのコメントがa+= ~z*Nになってた問題を直してるんだけど、まだテストしていない -- 10:59 2017/02/13
まあとりあえずテストしてみるか -- 10:59 2017/02/13
FAILUREが出た。それはそう。 -- 11:04 2017/02/13
なんかプリプロセッサが勝手にスペースを削除していたということが判明した。
ソースをコメントアウトしたことで文字通りに解釈され、スペースが復活している。
これ仕様かね、仕様ならいいんだけど -- 11:42 2017/02/13
とりあえずこわいので、2回に分けてライブラリの改定をしよう、まずはa+= N* ~zのコメントからだ -- 11:43 2017/02/13
--SourceTreeのバグ--
SourceTreeの表示バグがこわくて先に進めなかったので、1回でアプデ -- 19:43 2017/02/13
--フォルダについて--
現状のbatはフォルダ名に依存してることだし、本当はCamphorScript1.x.xフォルダを作ってその中に全ファイル入れるべきだよなぁ -- 9:36 2017/02/14
--makefileについて--
とりあえず書いたがHiddenCharのせいでコンパイル通らん。 -- 12:08 2017/02/14
条件コンパイル使ってとりあえずコンパイル通す。挙動がLazyだけど。 -- 13:20 2017/02/14
--HiddenCharについて--
そのままだとLinuxでコンパイルできなかったので条件コンパイル使ってLinuxではとりあえずgetCharをそのまま使う -- 15:03 2017/02/14
本当は入力直後に入力した文字読んでほしいんだけどUbuntuのアプデが終わるまで待とう -- 15:04 2017/02/14
--<conditional>について--
なんかunlessだとかunless2だとか+==だとか意味のわからないものがあるぞ -- 16:00 2017/02/14
あのさぁ+==ってxFizzbuzz__CSで定義されてる演算子じゃん、これはいかんでしょ -- 16:11 2017/02/14
まあ言いたいことは分かるので、とりあえず<conditional>を使ったxFizzbuzz2と、元のBFを尊重したxFizzbuzz3に分けましょう -- 16:13 2017/02/14
元のxFizzbuzzは…まあCSだけ消してPCS以降残せばいいっしょ -- 16:14 2017/02/14
--makefile--
普通に常にccscとccsrcを再コンパイルするmakeを書けば良いことに気づいたので修正。(依存関係はghcが解決するので) -- 19:05 2017/02/14
--HiddenChar修正--
直した。普通にバッファリングを変えるコードを書いたらUbuntuで動いた。 -- 19:16 2017/02/14
--さて--
膨れ上がってきたしそろそろアプデ -- 19:32 2017/02/14
ver 1.0.0 22:01 2017/02/09 (木)
--課題--
2年半前に動いていたものを再び動くようにする
--コンパイラ--
当時の環境を再現しようとしても上手くいかず、結局最新版を再インストールしたら修正3行で普通に動いた -- 10:56 2017/02/04 (土)
--batファイル--
バージョン名の取得がホームフォルダ名に依存しているため、gitと相性が悪い。どうするか -- 12:56 2017/02/04 (土)
--説明--
そもそもBrainf*ckでプログラムを書くということはどういうことか、そのためにはこんなイディオムが必要、それを直接触れずに隠蔽するためにこういうのを考えました、という風にしないと説明にならないな、例の解説書はここの話が完全に吹っ飛んでるから伝わらなくなっていた。ということでそれを解決しないと -- 20:29 2017/02/04 (土)
まあまずは、文章をつらつらと吐き出してからそれを英訳すると言うかたちにすればいいんじゃないかな -- 20:37 2017/02/04
--ヌル関数--
気づいたんだけど、せっかく定義したヌル関数構文ってライブラリ内で使ってないのでは? -- 17:57 2017/02/05 (日)
--エスケープシーケンス--
説明書を別ブランチで書いていたところ、プリプロセッサがエスケープシーケンスを破壊するというバグが発見されたので対処の必要がある。 -- 17:04 2017/02/09
qEscSeq__CCSというファイルを発見。要するに、4から8までについてのエスケープシーケンスのテストはあるが、1から4まではないということだ。 -- 19:12 2017/02/09
バグってるのは1→2だけなので、とりあえず2以降は新しいテスト例として追加してかまわないはずだ。 ということで追加しよう。 -- 19:13 2017/02/09
バグの原因を見つけた。クオート内に2文字以上あるときにパースできず、エスケープシーケンスは2字なのでバグってた -- 21:00 2017/02/09
テスト例を追加した -- 21:52 2017/02/09
バグが1個潰れたのでアプデです -- 22:00 2017/02/09 (木)
ver 0.7.16
--課題--
色々と整理していきたい
主要なアプデはver 0.8以降
--仕様書--
仕様書を整理した -- 21:08 2014/10/11 (土)
--ファイル--
hs_を削除した -- 21:12 2014/10/11 (土)
Lexerをフォルダに分離 -- 21:30 2014/10/11 (土)
Parserをフォルダに分離 -- 22:38 2014/10/11 (土)
ver 0.7.15 4:57 2014/10/08 (水)
--要するに--
最終段階入ったのでverUp
ver 0.7.14 21:47 2014/10/06 (月)
--課題--
入門書を進めたい
--入門書--
ループまで書き終わる -- 23:55 2014/10/04 (土)
さてアプデ用の1機能は何にしようかな -- 23:55 2014/10/04 (土)
関数呼び出し(1)が書けた -- 1:02 2014/10/05 (日)
第三章が書けた。関数終了。 -- 21:24 2014/10/05 (日)
第四章が書けた。演算子終了。 -- 13:06 2014/10/06 (月)
第五章と第六章が書け、syntaxとpreprocessor終了。 -- 18:27 2014/10/06 (月)
第七章書けた -- 21:05 2014/10/06 (月)
入門書終了 -- 21:46 2014/10/06 (月)
--verUp--
します -- 21:46 2014/10/06 (月)
ver 0.7.13 17:38 2014/10/03 (金)
--課題--
仕様書を終わらせたい
入門書を書き始めたい
--pragma--
pragma書き終わる -- 23:54 2014/09/28 (日)
さてそろそろintroductionだな -- 23:54 2014/09/28 (日)
Haskellぐらいシンプルでいいか。詳しいことは仕様書に書くわけだし。 -- 23:55 2014/09/28 (日)
--仕様書--
introductionを適当に書いて仕様書終了 -- 17:44 2014/09/29 (月)
--入力--
入門書を書いていて入力のサンプルを作ってみたがバグった -- 0:38 2014/10/03 (金)
Cのgetchがなんか使えたので復活 -- 0:38 2014/10/03 (金)
あとputCharをflushしていなかったバグを修正 -- 0:38 2014/10/03 (金)
よし、これで1機能実装だ -- 0:39 2014/10/03 (金)
--入力2--
入力処理書き終わる -- 17:38 2014/10/03 (金)
よしアプデだ -- 17:38 2014/10/03 (金)
ver 0.7.12 3:00 2014/09/28 (日)
--課題--
仕様書を進めていきたい
--op--
<{foo}>だけでなく<<{bar}>>などにも対応させた -- 12:09 2014/09/24 (水)
それをautotestにも追加 -- 12:12 2014/09/24 (水)
それを仕様書に追加 -- 17:06 2014/09/24 (水)
--version--
Haskell Platformを更新したので依存性とかが色々変わって大変 -- 0:00 2014/09/25 (木)
しかし色々直してコンパイル通る -- 0:35 2014/09/25 (木)
全てリビルド -- 0:51 2014/09/25 (木)
--仕様書--
全構文規則を網羅(多分) -- 1:44 2014/09/28 (日)
ついでにバグも少し直した(はず) -- 1:44 2014/09/28 (日)
さて残るはIntroductionだけだ(絶望) -- 1:45 2014/09/28 (日)
まあpragmaの説明もあった方がいいわけだが -- 1:45 2014/09/28 (日)
コメントとpragma内での0x5Cを許可 -- 2:31 2014/09/28 (日)
--恒例--
orthotest通る -- 2:35 2014/09/28 (日)
optotest2通る -- 2:42 2014/09/28 (日)
autotest通る -- 2:56 2014/09/28 (日)
autotesterr通る -- 2:59 2014/09/28 (日)
コードの方の進捗は少ないけどverUp -- 3:00 2014/09/28 (日)
ver 0.7.11 23:27 2014/09/23 (火)
--課題--
Text化したい
仕様書を進めていきたい
--Txt--
まずTxtをnewtypeにしよう -- 8:50 2014/09/21 (日)
その前にIOを多態化しよう -- 9:06 2014/09/21 (日)
IO多態化したし,newtypeに -- 9:15 2014/09/21 (日)
Base_Step2以外全てを直す -- 9:51 2014/09/21 (日)
全て修正、ビルドをしよう -- 9:54 2014/09/21 (日)
--事後処理--
ccsrcが依存しているIOを多態化し忘れていたので直す -- 10:00 2014/09/21 (日)
直してbuild成功 -- 10:05 2014/09/21 (日)
--恒例--
autotest通る -- 10:14 2014/09/21 (日)
autotesterr通る -- 10:20 2014/09/21 (日)
orthotest通る -- 10:22 2014/09/21 (日)
optotest2通る -- 10:23 2014/09/21 (日)
--Text化--
速度測定をしておこう -- 12:11 2014/09/21 (日)
12:14:30にスタート -- 12:14 2014/09/21 (日)
12:17:01に終了 -- 12:17 2014/09/21 (日)
2分31秒か -- 12:17 2014/09/21 (日)
ではText化しよう -- 12:18 2014/09/21 (日)
"No instance for (Stream Txt Identity Char)" えっ -- 12:21 2014/09/21 (日)
自分で定義して通る -- 12:23 2014/09/21 (日)
全てビルド -- 12:26 2014/09/21 (日)
さて再測定だ -- 12:26 2014/09/21 (日)
12:27:15にスタート -- 12:27 2014/09/21 (日)
12:29:46に終了 -- 12:30 2014/09/21 (日)
2分31秒か -- 12:30 2014/09/21 (日)
…これは酷い -- 12:30 2014/09/21 (日)
あ、Lazyにしていなかった -- 12:31 2014/09/21 (日)
再挑戦 -- 12:31 2014/09/21 (日)
全てビルド -- 12:34 2014/09/21 (日)
再々挑戦 -- 12:34 2014/09/21 (日)
12:35:30にスタート -- 12:35 2014/09/21 (日)
12:38:01に終了 -- 12:38 2014/09/21 (日)
2分31秒か(絶望) -- 12:38 2014/09/21 (日)
…さーて、お掃除お掃除 -- 12:39 2014/09/21 (日)
--お掃除--
演算子<+>を作ってpackとmappendを消去 -- 12:49 2014/09/21 (日)
消去終了 -- 13:00 2014/09/21 (日)
何かマウスポインタが動かなくなったので再起動しよう -- 13:03 2014/09/21 (日)
再起動して戻ってきた -- 13:08 2014/09/21 (日)
--仕様書--
さーて後は1機能作って仕様書書いてverUpするのみだ -- 13:09 2014/09/21 (日)
色々書けたけど、'''が文字列リテラル判定になっている気がする -- 14:35 2014/09/21 (日)
CCSでchar a; a+= '''; write(a);と書いてもエラーにならないという不具合を修正 -- 14:45 2014/09/21 (日)
そしてPCSにて
1. char a; a+='a'; write(a);は動くけどchar a; a+='\a'; write(a);が`unexpected operator "+="'
2. char a='a'; write(a);は動くけどchar a='\a'; write(a);が`unexpected end of input'
というバグ発見 -- 14:52 2014/09/21 (日)
--EscSeq--
確かめてみると、確かにPCSではEscSeqをテストしていない -- 14:52 2014/09/21 (日)
infixlでもescseqで選択的にエラーが出る -- 15:08 2014/09/21 (日)
30分格闘したが進捗なし -- 15:42 2014/09/21 (日)
仕方がないのでEscSeqのサポートを切ろう -- 15:53 2014/09/21 (日)
仕様書からEscSeqを削除 -- 15:55 2014/09/21 (日)
--仕様書--
文字が終わったので型に移ろう -- 16:31 2014/09/21 (日)
型が終わったが順序が色々面倒なことに -- 19:06 2014/09/21 (日)
混同していた用語をtype と type base に分離することでスッキリ -- 21:16 2014/09/21 (日)
さて入浴だ -- 21:16 2014/09/21 (日)
--仕様書2--
type listを書く -- 16:55 2014/09/22 (月)
tail系のlistの定義を見たらmanyで定義されているので空でもOKらしい -- 14:30 2014/09/23 (火)
意図してなかったけど良仕様と思えるので仕様書に明示的にその旨記入 -- 14:31 2014/09/23 (火)
--仕様書3--
まだ定義していない構文が何だったか思い出せなくなったので構文規則だけ分離したファイルを作成 -- 17:39 2014/09/23 (火)
valueをr-valueと改名して仕様化 -- 22:00 2014/09/23 (火)
--1機能--
建ってから丸2日が経っているし、そろそろverUpしたい -- 22:03 2014/09/23 (火)
CCSでchar a; a+= '''; write(a);と書いてもエラーにならないという不具合をautotesterrに追加 -- 22:03 2014/09/23 (火)
--恒例--
orthotest通る -- 22:08 2014/09/23 (火)
optotest2通る -- 22:09 2014/09/23 (火)
autotest通る -- 22:11 2014/09/23 (火)
autotesterr通る -- 22:13 2014/09/23 (火)
--1機能part2--
さーてautotesterrを機能と呼ぶわけにはいかない -- 22:14 2014/09/23 (火)
ということで新演算子を実装しよう -- 22:14 2014/09/23 (火)
前に新演算子を({short_})と書く、と言ったな。あれは嘘だ -- 22:15 2014/09/23 (火)
もう()は使いすぎている気がするし、波カッコの前なら大体のものは衝突しない -- 22:15 2014/09/23 (火)
でも後に複合型のリテラルを演算子とともに使いたくなるかもしれない -- 22:22 2014/09/23 (火)
…まあそういうのは全部futureに登録してある[]を使えばいいや -- 22:38 2014/09/23 (火)
ということで<{foo}>とか<<{bar}>>とか<<<{foobar}>>>とかに決定 -- 22:38 2014/09/23 (火)
丁度opを仕様化する前だし、影響も最小限に抑えられるはず -- 22:39 2014/09/23 (火)
operator2追加 -- 23:15 2014/09/23 (火)
--恒例--
autotest通る -- 23:23 2014/09/23 (火)
autotesterr通る -- 23:25 2014/09/23 (火)
optotest2通る -- 23:26 2014/09/23 (火)
orthotest通る -- 23:27 2014/09/23 (火)
verUp -- 23:27 2014/09/23 (火)
ver 0.7.10 0:13 2014/09/21 (日)
--課題--
北京仕様書に書いてある様々な最適化をやっていきたい
--HalfScrambledEgg--
まずは書いてみよう -- 6:17 2014/09/15 (月)
…あれ、地味に面倒だ -- 6:32 2014/09/15 (月)
作成なぞしなくても、初参照があれば作成としよう -- 6:37 2014/09/15 (月)
うーむ面倒だ、1時間かけても組めない -- 7:31 2014/09/15 (月)
戻ってきた -- 17:19 2014/09/15 (月)
…よし、無かったことにしよう -- 17:28 2014/09/15 (月)
--仕様書--
最適化以外は出来ているし、Base_6は1機能だけ作って、そろそろ仕様書を書き始めよう -- 11:15 2014/09/17 (水)
HaskellのとかSchemeのとか見てみたけど、意外と仕様書は短くても構わないみたい -- 11:17 2014/09/17 (水)
そもそもがシンプルな仕様だし、読んでもらうべきはチュートリアルだし、
さらっと仕様書を書いてチュートリアルに専念しよう -- 11:23 2014/09/17 (水)
--仕様書part2--
色々頑張って演算子定義までは書けた -- 22:06 2014/09/19 (金)
このまま順調に行けば仕様書完成は遠くない -- 22:07 2014/09/19 (金)
そろそろ1機能作ってverUpしよう -- 22:07 2014/09/19 (金)
--1機能--
変数の初期化子をmod256した -- 23:42 2014/09/20 (土)
…流石にこれでは足りない -- 23:43 2014/09/20 (土)
--2機能--
未だトークンと登録されていなくとも、予約語リストのものは弾くように -- 0:02 2014/09/21 (日)
autotest通る -- 0:08 2014/09/21 (日)
autotesterr通る -- 0:11 2014/09/21 (日)
optotest2通る -- 0:12 2014/09/21 (日)
orthotest通る -- 0:13 2014/09/21 (日)
verUp -- 0:13 2014/09/21 (日)
ver 0.7.9 19:20 2014/09/14 (日)
--課題--
最適化をautotestに登録
仕様書のような何かを書き始めたい
NouLittleのデザイン
--autotest--
autotestをいじってテストケースを増やそう -- 13:58 2014/09/14 (日)
でもautotest自体には触りたくないよね -- 14:03 2014/09/14 (日)
ということで名前を変更しよう -- 14:03 2014/09/14 (日)
optotestという名にしたいが、既に使っている -- 14:03 2014/09/14 (日)
ということで旧optotestをorthotestと改名しよう -- 14:04 2014/09/14 (日)
改名に伴い幾つかのファイルを編集 -- 14:05 2014/09/14 (日)
再コンパイル -- 14:09 2014/09/14 (日)
orthotest通る -- 14:11 2014/09/14 (日)
autotest通る -- 14:14 2014/09/14 (日)
autotesterr通る -- 14:16 2014/09/14 (日)
さて新optotestを作ろう -- 14:17 2014/09/14 (日)
まあ混同するのも困るのでoptotest2という名前にしようかな -- 14:17 2014/09/14 (日)
大体がautotestと同じなのでモジュール化しよう -- 14:17 2014/09/14 (日)
--optotest2--
その前に、autotestに-f0.6オプションを付けよう -- 14:22 2014/09/14 (日)
ということはccsrcに-f0.6を付けねば -- 14:24 2014/09/14 (日)
ついでにccsrcのStatをレコード化しよう -- 14:24 2014/09/14 (日)
できた -- 14:33 2014/09/14 (日)
更に畳み込みも見込みがある -- 14:34 2014/09/14 (日)
無かった(先読み必要)ので却下 -- 14:41 2014/09/14 (日)
--optotest3--
さてまずはautotestをコピー -- 14:44 2014/09/14 (日)
色々グループ化、autotest通る -- 14:56 2014/09/14 (日)
その後も色々頑張ってoptotest2が完成、登録も完了 -- 15:20 2014/09/14 (日)
さーて適当に1機能だけ作ってverUpしますかね -- 15:23 2014/09/14 (日)
--Step7--
Step2は流石に今することでは無いと思うのでStep7のエラーメッセージ改良を行おう -- 15:38 2014/09/14 (日)
行う -- 15:44 2014/09/14 (日)
orthotest通る -- 15:47 2014/09/14 (日)
optotest通る -- 15:47 2014/09/14 (日)
autotest通る -- 15:51 2014/09/14 (日)
autotesterrが改善されたメッセージで通る -- 15:53 2014/09/14 (日)
--構造体--
この前思いついた構造体の実装を書こう -- 17:45 2014/09/14 (日)
書けた -- 19:20 2014/09/14 (日)
さてverUp -- 19:20 2014/09/14 (日)
ver 0.7.8 14:37 2014/09/07 (日)
--課題--
仕様書のような何かを書き始めたい
NouLittleのデザイン
--NLデザイン--
追加assertは要らないだろう -- 12:31 2014/09/07 (日)
Base_Step4のデータ構造をいじる -- 13:02 2014/09/07 (日)
データ構造をいじる -- 13:24 2014/09/07 (日)
更にいじって堅牢性を上げる -- 13:28 2014/09/07 (日)
分岐が面倒なのでADDとSUBを統合 -- 13:32 2014/09/07 (日)
さてADDの引数がStringとStringじゃなくてIdent2とIntegerになったので、
統合処理を書きましょう -- 13:38 2014/09/07 (日)
3つまでの先読みをしよう -- 13:40 2014/09/07 (日)
よし書けた -- 13:44 2014/09/07 (日)
autotest通る -- 13:47 2014/09/07 (日)
autotesterr通る -- 13:51 2014/09/07 (日)
optotest通る -- 13:52 2014/09/07 (日)
あ、そう言えば空白とコメントを呼び飛ばす処理を書いてないはず -- 13:53 2014/09/07 (日)
書いた -- 13:57 2014/09/07 (日)
autotest通った -- 14:01 2014/09/07 (日)
autotesterr通った -- 14:03 2014/09/07 (日)
optotest通った -- 14:05 2014/09/07 (日)
さてテストしよう -- 14:05 2014/09/07 (日)
…マージされない(´・ω・`) -- 14:18 2014/09/07 (日)
はい再帰が切れてました本当にありがとうございます -- 14:26 2014/09/07 (日)
直った -- 14:28 2014/09/07 (日)
cmdにも通る[incdecmerge.txt] -- 14:31 2014/09/07 (日)
さーてこれをどうautotestに登録すべきか -- 14:31 2014/09/07 (日)
--テンプレ--
改良が少しはあったからverUpしよう -- 14:37 2014/09/07 (日)
verUp -- 14:37 2014/09/07 (日)
ver 0.7.7 11:31 2014/09/07 (日)
--課題--
仕様書のような何かを書き始めたい
北京仕様書に書いてある様々な最適化
--最適化--
まずはincdecmergeの実装から -- 5:14 2014/09/06 (土)
多分書けた -- 5:32 2014/09/06 (土)
オプションなので当然autotestは通る -- 5:36 2014/09/06 (土)
さてassert等とともにテストの時間だ -- 5:36 2014/09/06 (土)
> E:\... >ccsc -C14 con -o con
> char a; a+=41; a-=8; write(a);
> ^Z
>
> begin_static_assert 0; mov 0; end_static_assert 0; inc 41;
> mov 0; end_static_assert 0; dec 8; mov 0; output;
あっ…(察し) -- 5:45 2014/09/06 (土)
それとは別件でデータ構造をいじる -- 5:52 2014/09/06 (土)
--NL変革--
そもそもNLの構造を変革する必要がある気がする -- 4:43 2014/09/07 (日)
今のところND寄りだが、CCS寄りにする方がいいだろう -- 4:44 2014/09/07 (日)
ということで書き直し -- 4:55 2014/09/07 (日)
まずは今Base_Step3_IIにあるのを全てBase_Step5にコピー -- 5:02 2014/09/07 (日)
…failure -- 5:05 2014/09/07 (日)
なるほど、空文が増えていたのか -- 5:06 2014/09/07 (日)
修正 -- 5:06 2014/09/07 (日)
autotest通る -- 5:10 2014/09/07 (日)
autotesterr通らないですありがとうございます -- 5:32 2014/09/07 (日)
ということでStep3_IIを半透明にしなきゃね -- 5:33 2014/09/07 (日)
この機会に3_IIを4に改名 -- 5:34 2014/09/07 (日)
autotest通る -- 5:38 2014/09/07 (日)
デッドコードを大量に残すもStep3_IIを半透明にすることに成功 -- 5:52 2014/09/07 (日)
autotest通らない -- 5:53 2014/09/07 (日)
バグ修正(デッドコード参照) -- 5:53 2014/09/07 (日)
autotest通る -- 5:59 2014/09/07 (日)
autotesterr通る -- 6:04 2014/09/07 (日)
さてデッドコード削除だ -- 6:04 2014/09/07 (日)
autotest通る -- 6:17 2014/09/07 (日)
autotesterr通る -- 6:21 2014/09/07 (日)
エラー例を多少増やし、エラーメッセージを改良 -- 6:30 2014/09/07 (日)
autotest通る -- 6:33 2014/09/07 (日)
autotesterr通る -- 6:35 2014/09/07 (日)
--最適化part2--
さてNLをデザインしていきますかね -- 6:36 2014/09/07 (日)
というか正負打ち消しはassert挿入前に行えばいいんじゃないかな -- 7:26 2014/09/07 (日)
--UI--
オプションボタンが出来た -- 9:58 2014/09/07 (日)
あとHTML4.01に準拠させるとページが崩壊することがわかった -- 10:01 2014/09/07 (日)
HTML5に準拠させたはずだが(HTA除く)doctype html書くと崩壊する -- 10:28 2014/09/07 (日)
--テンプレ--
改良が殆どないけどverUpしよう -- 11:23 2014/09/07 (日)
autotest通る -- 11:27 2014/09/07 (日)
autotesterr通る -- 11:30 2014/09/07 (日)
optotest通る -- 11:31 2014/09/07 (日)
verUp -- 11:31 2014/09/07 (日)
ver 0.7.6 23:38 2014/09/05 (金)
--課題--
仕様書のような何かを書き始めたい
assert仕様書処理を処理したい
--UI--
UIに縦方向の伸縮性も与えた -- 15:43 2014/09/03 (水)
--assert--
そもそも様々なassertはどこで挿入すべきか -- 4:42 2014/09/05 (金)
まあStep3-IIでするのが当然良い訳だが -- 4:44 2014/09/05 (金)
まずはそれらのassertを無視して次に渡すという作業をBase_Step5で行おう -- 4:46 2014/09/05 (金)
何事も基礎なしでは進まない -- 4:46 2014/09/05 (金)
まずStep3-IIはCCSを取って(現状では)NDを返す -- 4:53 2014/09/05 (金)
そこを分割して、それぞれnouLittleとnouMoreという名前にしよう -- 5:05 2014/09/05 (金)
まずは正しいNDに対してのみBase_Step5を透明にした -- 5:22 2014/09/05 (金)
autotest通る -- 5:28 2014/09/05 (金)
autotesterr通る -- 5:32 2014/09/05 (金)
optotest通る -- 5:34 2014/09/05 (金)
次にNL間のみassert_zeroという名をunsafe_assertに変更 -- 5:34 2014/09/05 (金)
仕様書のI_know_that_I_am_right_assertをdynamic_assertに変更 -- 5:36 2014/09/05 (金)
autotest通る -- 5:40 2014/09/05 (金)
static_assert作る -- 23:19 2014/09/05 (金)
autotest通る -- 23:24 2014/09/05 (金)
beginとend両方作る -- 23:29 2014/09/05 (金)
autotest通る -- 23:32 2014/09/05 (金)
--テンプレ--
改良が殆どないけどverUpしよう -- 23:33 2014/09/05 (金)
autotesterr通る -- 23:36 2014/09/05 (金)
optotest通る -- 23:38 2014/09/05 (金)
verUp -- 23:38 2014/09/05 (金)
ver 0.7.5 6:09 2014/09/03 (水)
--課題--
そろそろ北京仕様書に書いてある様々な最適化をやっていきたい
--微調整--
monadで書きにくいのをApplicativeにしよう -- 3:26 2014/08/26 (火)
してきた -- 3:44 2014/08/26 (火)
明示再帰を排除しよう。まずはStep7で。 -- 3:46 2014/08/26 (火)
はいautotest失敗 -- 4:14 2014/08/26 (火)
パラメータ間違ってただけでした本当にありがとうございました -- 4:24 2014/08/26 (火)
そしてテスト中の暇つぶしのカルメンで300コンボとはこれ如何に -- 4:24 2014/08/26 (火)
再帰は飛んだしState化もできた -- 4:52 2014/08/26 (火)
autotest通る -- 4:55 2014/08/26 (火)
Base_Step1も同様にしよう -- 4:57 2014/08/26 (火)
レコード構文へ変換するの面倒。半分終わる。 -- 5:21 2014/08/26 (火)
終わった。では運命のautotest -- 5:40 2014/08/26 (火)
よし通る -- 5:43 2014/08/26 (火)
パターンを模索、一応見つかる -- 5:56 2014/08/26 (火)
変数移動part1 -- 6:10 2014/08/26 (火)
変数移動part2 -- 6:17 2014/08/26 (火)
warning潰し切る -- 10:02 2014/08/26 (火)
autotest失敗、バグだ -- 10:04 2014/08/26 (火)
成功 -- 10:09 2014/08/26 (火)
--最適化--
茶番もいい加減にしてそろそろ最適化やっていきたいですな -- 21:01 2014/08/30 (土)
当然現状(小説&宿題&祭)では無理だが計画を立てる位なら何とか -- 21:02 2014/08/30 (土)
まずはassertの種類を考えよう -- 21:03 2014/08/30 (土)
あ、当然この部分後で別ファイルに分離ね -- 21:03 2014/08/30 (土)
まずはdeleteとか/*# MEMORY using #*/とかのユーザー入力によるもの -- 21:05 2014/08/30 (土)
これらは初心者とかが間違って使う可能性があるので、
0が保証されない場合はwarningを出さねばいかん -- 21:07 2014/08/30 (土)
次にライブラリが保証するやつ -- 21:30 2014/08/30 (土)
最後にwhileの後とかcharの後とか静的にコンパイラ側で保証できるやつ -- 21:31 2014/08/30 (土)
これはそれぞれの文にassertするわけにもいかないので、
assert_static_beginとassert_static_endで挟もう -- 21:32 2014/08/30 (土)
ということで、採用するassertは以下の4つ -- 21:36 2014/08/30 (土)
1. static_assert_begin
2. static_assert_end
3. unsafe_assert(fiftythreeさん命名)
4. I_know_that_I_am_right_assert(上に同じ)
え、4が長い?だって使うべからざるものだもん
「使うべからざるものは使いにくく」ってのは当然の原則 -- 21:46 2014/08/30 (土)
assert最適化を仕様書に追加、change.logからは削除しないことに決定 -- 9:05 2014/08/31 (日)
--最適化part2--
さーてやっていきますかね -- 15:50 2014/09/01 (月)
…と思ったらUSBメモリ内にはmtlがないから面倒だ -- 15:57 2014/09/01 (月)
インストーラをbatで書こう -- 16:03 2014/09/01 (月)
…いろいろと上手くいかない -- 16:34 2014/09/01 (月)
--UI--
UIを改良して伸縮できるように -- 18:03 2014/09/02 (月)
UIのバグ改良 -- 18:13 2014/09/02 (月)
"step " ++ showNum x ++ "does not exist"を
"step " ++ showNum x ++ " does not exist"に修正 -- 18:14 2014/09/02 (月)
--テンプレ--
改良が殆どないけどverUpしよう -- 6:00 2014/09/03 (水)
autotes(t|terr)通る -- 6:07 2014/09/03 (水)
optotest通る -- 6:09 2014/09/03 (水)
verUp -- 6:09 2014/09/03 (水)
ver 0.7.4 20:51 2014/08/25 (月)
--課題--
そろそろ北京仕様書に書いてある様々な最適化をやっていきたい
あとGUIラッパも作っていきたいけどHTAしか無いかな
--整理--
古いtest logを消し古いchange logを分割 -- 17:29 2014/08/23 (土)
--optotest増量--
optotestを増やそう -- 17:44 2014/08/23 (土)
xAtoIを増やしたけどピリオドが1つずつ出ない。多分flush系の何か。 -- 17:55 2014/08/23 (土)
flushを足した -- 18:01 2014/08/23 (土)
しかしAtoIが速くてIsNumberが遅いのは何故だろう -- 18:01 2014/08/23 (土)
Fizzbuzzとかも作ったところでテスト例を作るのが面倒になってきた -- 22:08 2014/08/23 (土)
…面倒?そうだ、Haskellに作らせよう -- 22:09 2014/08/23 (土)
--interpreter--
optotestが遅いのってinterpreterのmemory updateが重いからじゃないかな -- 22:37 2014/08/23 (土)
だってlistだもん -- 22:37 2014/08/23 (土)
さらにgenericIndexなどという悪魔の手先まで使ってる -- 22:37 2014/08/23 (土)
ということでData.Mapにしよう -- 22:37 2014/08/23 (土)
もちろん内部だけ改装して外は出来れば変えないようにしよう -- 22:38 2014/08/23 (土)
…とか言いながら初っ端から問題発見 -- 22:39 2014/08/23 (土)
initial stateは変えないと -- 22:39 2014/08/23 (土)
変えたので後は内部で対処しよう -- 22:41 2014/08/23 (土)
内部で対処できた -- 22:53 2014/08/23 (土)
せっかくだから時間を測ろう -- 22:53 2014/08/23 (土)
再コンパイル前:62秒 -- 22:55 2014/08/23 (土)
再コンパイル後:58秒 -- 22:58 2014/08/23 (土)
………えー? -- 22:58 2014/08/23 (土)
まあいいや悪魔の手先を排除できたし -- 22:58 2014/08/23 (土)
autotest通る -- 23:06 2014/08/23 (土)
autotesterr通る -- 23:10 2014/08/23 (土)
optotest通る -- 23:11 2014/08/23 (土)
--GUI--
HTAでコマンドを実行する方法が分かったので早速作ったら動いた -- 23:36 2014/08/23 (土)
参考文献に追加 -- 23:38 2014/08/23 (土)
いやー流石language_and_engineeringさんは有難い -- 23:38 2014/08/23 (土)
-CオプションのGUI出来た -- 6:09 2014/08/24 (日)
-Cオプションの処理できた -- 6:41 2014/08/24 (日)
一応処理は全部書けた -- 8:01 2014/08/24 (日)
interpretも出来れば書きたいが後回し -- 8:08 2014/08/24 (日)
--optotest例作成--
test fileをHaskellに作らせれば楽ができる -- 8:12 2014/08/24 (日)
ということで乱数を考えよう -- 8:52 2014/08/24 (日)
乱数は出来たがどう散らすかが問題だ -- 9:08 2014/08/24 (日)
--prettyprint--
prettyprintとかshow'とかって解体したいよね -- 15:31 2014/08/25 (月)
せっかくshowを分解してもshow'が残っていては意味が無い -- 15:31 2014/08/25 (月)
ということでprettyprintを排除しよう -- 15:33 2014/08/25 (月)
排除した -- 15:56 2014/08/25 (月)
--optotest例--
「入力文字数が足りなくて失敗する」のを明示的にテスト条件にしよう -- 15:57 2014/08/25 (月)
そうすれば乱数が作りやすい -- 15:58 2014/08/25 (月)
"input" :-> FAILとか書きたいけど面倒なのでFAIL "input"で行こう -- 15:58 2014/08/25 (月)
さてfailの場合の処理を考えよう -- 16:03 2014/08/25 (月)
…関数化しすぎて読めない(´・ω・`) -- 16:06 2014/08/25 (月)
読めた -- 16:07 2014/08/25 (月)
多分書けた -- 17:44 2014/08/25 (月)
成功 -- 17:50 2014/08/25 (月)
さてではoptotest例作成器を作ろう -- 18:40 2014/08/25 (月)
…どういうテストデータを作ったものか -- 19:26 2014/08/25 (月)
下手なアルゴリズムを考えだすより、何文字のサンプルをどれほど作るべきかを手動で入れよう -- 19:31 2014/08/25 (月)
サンプルは40個ほどでいいか -- 19:39 2014/08/25 (月)
少ない気もするがどうせ特にテストしたい例を後で手動で足すだろうし -- 19:41 2014/08/25 (月)
3個が短い例、3個が長い例、残りが丁度ぐらいかな -- 19:43 2014/08/25 (月)
丁度だけ作るようにしてコンパイル通す -- 20:14 2014/08/25 (月)
できたのでmainから呼べるようにしなきゃね -- 20:21 2014/08/25 (月)
出来た -- 20:36 2014/08/25 (月)
--テンプレ--
autotest通る -- 20:44 2014/08/25 (月)
autotesterr通る -- 20:47 2014/08/25 (月)
optotest通る -- 20:51 2014/08/25 (月)
verUp -- 20:51 2014/08/25 (月)
ver 0.7.3 17:08 2014/08/23 (土)
--課題--
そろそろ北京仕様書に書いてある様々な最適化をやっていきたい
あとGUIラッパも作っていきたいけどHTAしか無いかな
optotestを終わらせたい
99 bottles of beer on the wall書きたい
--99 bottles of beer on the wall--
はい、ネットにありました。
しかもアドレス固定のが。 -- 13:12 2014/08/21 (木)
どれどれ、要求メモリは9か。 -- 13:12 2014/08/21 (木)
行数が700を超えているが。 -- 13:13 2014/08/21 (木)
取りあえずclearを処理。ここらへんの処理を自動化出来ないものかね -- 13:36 2014/08/21 (木)
7000字切った。いやー文字列処理はごっそり文字数とSAN値が削れますな -- 13:54 2014/08/21 (木)
400行切った。いやー文字(ry
6000字切った。いやー(ry -- 14:11 2014/08/21 (木)
300行切った。い(ry -- 14:14 2014/08/21 (木)
最後まで掛け算化できた -- 14:16 2014/08/21 (木)
バックアップ取る -- 14:18 2014/08/21 (木)
--conditional--
conditionalライブラリを作り、Fizzbuzzを依存させた -- 6:56 2014/08/22 (金)
当然再コンパイルである -- 6:57 2014/08/22 (金)
autotestも無事通る -- 6:59 2014/08/22 (金)
--error--
前に作ったerror pragmaをautotesterrに追加 -- 7:03 2014/08/22 (金)
autotesterr通る -- 7:06 2014/08/22 (金)
--stdcalc--
そろそろstdcalcに新たな関数足したいんだけど再コンパイルが面倒 -- 7:09 2014/08/22 (金)
…やるしか無いか -- 7:10 2014/08/22 (金)
ということで2つほど演算子追加 -- 7:11 2014/08/22 (金)
…5つも再コンパイルするとか絶望的なのでstdcalc2という名にした-- 7:15 2014/08/22 (金)
ついでにconditionalが読むのもstdcalc2にした -- 7:16 2014/08/22 (金)
後は先ほど再コンパイルしたfizzbuzzを直すだけで済む -- 7:17 2014/08/22 (金)
fizzbuzz再コンパイルした -- 7:23 2014/08/22 (金)
autotest通る -- 7:26 2014/08/22 (金)
--99 bottles part2--
大体using化できたが、解読は未だできず -- 7:52 2014/08/22 (金)
文字コード書いた -- 14:23 2014/08/22 (金)
制御構文が面倒だがまずはコピペされたと思われるコードをまとめるところからだ -- 15:09 2014/08/22 (金)
10の位と1の位に分ける処理を関数化 -- 15:22 2014/08/22 (金)
まとめる -- 15:26 2014/08/22 (金)
謎のwhile軍団が怖い -- 15:34 2014/08/22 (金)
debug関数作った -- 15:53 2014/08/22 (金)
1判定解明。でもアンダーフロー。 -- 15:57 2014/08/22 (金)
ちょっと条件系をまとめた -- 16:40 2014/08/22 (金)
whileが抜けたので一旦ここで止めておいてバックアップ -- 10:23 2014/08/23 (土)
--Traversable--
Data.Traversableとかいうライブラリを見つけたので使おう -- 10:26 2014/08/23 (土)
取りあえずNon,Sep,TailをTraversableのインスタンスに -- 10:59 2014/08/23 (土)
Listlike排除作戦で地元住民の怒りを買ったので戦闘中 -- 11:23 2014/08/23 (土)
戦闘終了、buildに入る -- 11:26 2014/08/23 (土)
なおListlikeはまだ排除できていない模様 -- 11:27 2014/08/23 (土)
build終わる、autotestへ -- 11:28 2014/08/23 (土)
autotest通る、autotesterrへ -- 11:32 2014/08/23 (土)
autotesterrも通る -- 11:34 2014/08/23 (土)
--Listlike排除--
Listlikeを消したらWarnに影響 -- 13:36 2014/08/23 (土)
WarningをData.Sequenceに変更 -- 13:37 2014/08/23 (土)
諸々を調整しListlike排除成功 -- 13:39 2014/08/23 (土)
--Warning--
warningのデフォルトを-Wnoneでなく-Wnormalにした -- 13:46 2014/08/23 (土)
--HLint--
HLint掛けてみた -- 13:49 2014/08/23 (土)
Camelとdupを無視 -- 13:59 2014/08/23 (土)
残りは全て解決 -- 13:59 2014/08/23 (土)
--optotest--
さて、長々と伸ばしてきたoptotestやりますかね -- 15:57 2014/08/23 (土)
周辺はできた -- 16:41 2014/08/23 (土)
中央処理だが、traverseがとても便利 -- 16:41 2014/08/23 (土)
さて中心処理できた -- 16:46 2014/08/23 (土)
テストもしたが余りにも遅いから凍ったかと思える -- 16:47 2014/08/23 (土)
よってメッセージを増やそう -- 16:48 2014/08/23 (土)
増やして進捗が少しは見やすくなった -- 16:59 2014/08/23 (土)
--テンプレ--
autotest通す -- 17:04 2014/08/23 (土)
autotesterr通す -- 17:08 2014/08/23 (土)
verUp -- 17:08 2014/08/23 (土)